分数只给一个人
1。重载运算符的格式是
ReturnType operator @(参数表)
{
……
return ReturnTypeObj;
}
但我有个地方不明白:
#include<iostreaam.h>
class B{
int x,y,z;
public:
B(int xx=0;int yy=0;int zz=0);
B operator =(B t);
}
B::B(int xx,int yy,int zz){x=xx;y=yy;z=zz;}
B B::operator=(B t)
{ x=t.x;
y=t.y;
z=t.z;
return *this;
}
在上面重载‘=’可否如此:
class B{
int x,y,z;
public:
B(int xx=0;int yy=0;int zz=0);
void operator =(B t);
}
void B::operator=(B t)
{ x=t.x;
y=t.y;
z=t.z;
}
请说明理由!
2。我的教科书上说:“如果在派生类中定义了与基类虚函数同名而参数特征不同的成员函数,则被c++看作是一般的函数重载,在这种情况下函数将失去虚特性。”
请问:“是重载上去的函数无虚特性还是原来从基类继承来的虚函数无虚特性?(即重载会屏蔽虚函数吗?)”