【发布时间】:2013-11-27 08:07:09
【问题描述】:
我有一个 Cat 和 Dog 类派生自的基类 Animal。
我正在尝试重载输出流,以便可以执行以下操作:
Animal *a = (animal *) 0;
while(read_animal(cin, a) && a) // a has been assigned a derived class
cout << *a << '\n';
这就是我重载它的方式:
ostream& operator<<(ostream &a, const animal* animal) {
return a << animal->describe() << endl;
}
但我得到一个错误:
错误 20 错误 C2679:二进制“
想法?
【问题讨论】:
标签: c++ operator-overloading output