继承中的同名成员变量处理方法

    xiaoxiao2021-03-25  113

    继承中的同名成员变量处理方法

    1、当子类成员变量与父类成员变量同名时

    2、子类依然从父类继承同名成员

    3、在子类中通过作用域分辨符::进行同名成员区分(在派生类中使用基类的同名成员,显式地使用类名限定符)

    4、同名成员存储在内存中的不同位置

     

    总结:同名成员变量和成员函数通过作用域分辨符进行区分

    #include<iostream> using namespace std; class A { public: int a; int b; public: void get() { cout<<"A的b: "<<b<<endl; } void print() { cout<<"父类的AAAA"<<endl; } protected: private: }; class B:public A { public: int c; int b; public: void get_child() { cout<<"B的b: "<<b<<endl; } void print() { cout<<"子类的BBBB"<<endl; } protected: private: }; //同名成员变量 int main01() { B b1; b1.b = 1;//这样写默认修改的是子类的B b1.get_child(); b1.A::b = 100;//想要修改父类的b要这样才对 b1.get(); b1.B::b = 300;// b1.get_child(); system("pause"); return 0; } //同名成员函数 int main() { B b1; b1.print();//默认的调用子类的b b1.A::print(); b1.B::print(); system("pause"); return 0; }

    转载请注明原文地址: https://ju.6miu.com/read-8653.html

    最新回复(0)