【发布时间】:2011-03-19 01:52:23
【问题描述】:
我这里有两节课。基类:
class A
{
int x;
public:
A(int n):x(n){}
friend bool operator==(const A& left, const A& right)
{return left.x==right.x;}
};
以及从 A 私有继承的派生类:
class B : private A
{
int y;
public:
B(int n,int x):A(x),y(n){}
friend bool operator==(const B& left, const B& right)
{
if(left.y==right.y)
{/*do something here...*/}
else{return false;}
}
};
我知道如何比较 A 的两个实例:我只是将成员变量相互比较。但是我怎么可能比较 B 的实例呢?两个实例很容易在其关联的“A”实例中具有不同的“x”成员,但我不知道如何将这些实例相互比较。
【问题讨论】:
标签: c++ inheritance operator-overloading