我先上课,然后上课。 我愿超载这些衍生产品的“设计、设计、”经营者。 对于普通经营者,即+ ,虚拟功能是trick的。 我的理解是,标准公约是宣布
friend ostream& operator<<(ostream& out, MyClass& A);
在我的班子内,然后界定课后的职能。 我先想增加上述定义的虚拟内容,会使其发挥作用,但经过一些想法(以及我的汇编者错误)之后,我认识到,这并不具有意义。
我在测试案件中尝试了不同的打字,所有阶级成员都是公开的。 例如:
class Foo{
//bla
};
ostream& operator<<(ostream& out, Foo& foo){
cout << "Foo" << endl;
return foo;
}
class Bar : public Foo{
//bla
};
ostream& operator<<(ostream& out, Bar& bar){
cout << "Bar" << endl;
return bar;
}
///////////////////////
Bar bar = Bar();
cout << bar << endl; // outputs Foo , not Bar
因此,在某种程度上,这就是“吗morph变坏”——基类操作员加固;加固;被叫作的不是衍生的班级经营者。 在上述例子中,我如何使正确的运营商要求获得衍生产品类别? 更一般地说,如果我的班子有私人成员,我想保护他们,那么我如何在使用朋友的关键词时纠正经营者超负荷工作的做法?