2016-10-09 6 views
-3

я создал конструкторC++ Как распечатать объект?

Location(double xIn,double yIn,string placeIn,int timeIn) 
: x(xIn),y(yIn) ...so on { 

Say Я хочу напечатать Расположение дома (х, у, место, время); это в main().

Как мне это сделать? Я искал вокруг и ему сказали использовать operator<<. Как бы это реализовать?

UPDATE: После создания некоторые получают методы, и я пытался делать, не могу точно скомпилировать его из-за проблемы

ostream &operator<<(ostream & o, const Location & rhs){ 

     o << rhs.getX() << "," << rhs.getY() << "," << rhs.getPlace() << "," << rhs.getTime(); 
     return o; } 
+3

Ваше название и ваш вопрос не имеют отношения друг к другу. Что касается вашего вопроса, продолжайте учиться и читать, пока не найдете пример и объяснение того, как написать свой собственный оператор вставки потока; есть десятки тысяч доступных на выбор. –

+0

Я только что понял, что не закончил писать свой титул, прежде чем писать свой вопрос .... – LovesPie

+0

«Это было бы правильно?» _ Ну, это сделало то, что вы хотели? –

ответ

0

Вот трафарет для перегрузки operator<<:

class Any 
{ 
    public: 
    friend std::ostream& operator<<(std::ostream& output, const Any& a); 
    private: 
    int member; 
}; 

std::ostream& 
operator<<(std::ostream& output, const Any& a) 
{ 
    output << a.member; 
    return output; 
} 

Это один из возможных шаблонов, есть и другие возможности. Найдите в Интернете «пример перегрузки операторов потока C++» для других реализаций.

Смежные вопросы