小编Ami*_*mit的帖子

派生类继承基类赋值运算符?

在我看来,派生类不继承基类赋值运算符,
如果派生类继承基类赋值运算符,请解释以下示例

在下面的代码中,我覆盖了派生类中的基类 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)

c++ inheritance assignment-operator

2
推荐指数
1
解决办法
9407
查看次数

标签 统计

assignment-operator ×1

c++ ×1

inheritance ×1