When a virtual function is called by referencing a specific object by name and using the dot member selection
operator (e.g., squareObject.draw()), the reference is resolved at compile time.
__________, which means if A declares B as its friend it does NOT mean that A can access private data
of B. It only means that B can access all data of A.