# (C++) Not sure what the problem wants me to do.

by cpponyou
Tags: None
 P: 1 I have this HW problem, but I cannot figure out what it wants me to do. I don't want anyone to solve it for me, just point me in the right direction. Suppose that a class hierarchy has a virtual method print class C { virtual void print( ostream& ) const; }; that outputs C's members to the stream ostream. Write one overload of << so that the statement out << p; outputs p's members to the stream out, where p is any object that belongs to a class in the hierarchy. What I don't understand is the out << p bit. Am I supposed to be able to do out << p; in my main() and have the overload call p.print() ?
 Mentor P: 13,602 That is exactly what you are supposed to do. You should probably make your overloaded function obey the semantics of the << operator as used with streams so that given two such objects p and q the following works: out << "Members of p:\n" << p << "\nMembers of q:\n" << q;
 HW Helper Sci Advisor P: 4,281 Indeed. So they want you to override operator<<

 Related Discussions Calculus & Beyond Homework 1 Introductory Physics Homework 1 Calculus & Beyond Homework 6 Introductory Physics Homework 7 Advanced Physics Homework 1