在我看来,派生类不继承基类赋值运算符,
如果派生类继承基类赋值运算符,请解释以下示例
在下面的代码中,我覆盖了派生类中的基类 operator=,以便派生类默认赋值运算符调用重载的 operator=
#include <iostream>
using namespace std;
class Base
{
public:
Base(int lx = 0):x(lx)
{
}
virtual Base& operator=( const Base &rhs)
{
cout << "calling Assignment operator in Base" << endl;
return *this;
}
private:
int x;
};
class Derived : public Base
{
public:
Derived(int lx, int ly): Base(lx),y(ly)
{
}
Base& operator=(const Base &rhs)
{
cout << "Assignment operator in Derived"<< endl;
return *this;
}
private:
int y;
};
int main()
{
Derived …Run Code Online (Sandbox Code Playgroud)