我使用C++。調用父操作符<< C++
我試圖重寫opeator < <如下(H文件):
friend ostream& operator<<(std::ostream& os, const Worker& obj);
.cpp的:
ostream & operator<<(std::ostream & os, const Worker & obj)
{
return os << "First Name: " << obj.GetFirstName() << ", Last Name: " << obj.GetLastName() << " ,ID: " << obj.GetID() << ", WorkPlace: " << obj._workPlace << endl;
}
使用:
Person *w2 = new Worker("First Name", "Last Name", "123456789", "String");
cout << w2;
但運營商< <不叫。
什麼是錯誤?
謝謝!
你想'cout << * w2;'。 – songyuanyao
您提供'Person *'而不是'Person'。 –
避免使用指針和'new'。 –