C++面向对象编程(五)同名成员变量和同名函数

来源:互联网 发布:日本聊天软件排名 编辑:程序博客网 时间:2024/06/16 23:38

首先需要理解:

  1. 成员变量同名覆盖:子类仅仅是继承来的那个成员变量,而并不改变原来父类中的变量。
  2. 成员方法同名覆盖:子类对父类的成员方法覆盖,必须函数名,函数参数,函数返回值 完全一致
  3. 在子类中通过作用域分辨符::进行同名成员区分(在子类中使用父类的同名成员,必须显式地使用类名限定符
#include <iostream>using namespace std;class A{public:int a;int b;public:void get(){cout << "父类的b= " << this->b << endl;}void print(){cout << "AAAA" <<endl;}};class B :public A{public:int b;int c;public:void get_child(){cout << "子类的b= " << this->b << endl;}void print(){cout << "BBBB" <<endl;}};int main(){B b1;b1.b = 1; //默认调用的子类的成员变量bb1.get_child();b1.A::b = 3;//通过作用域分辨符::,指明是父类的成员变量b1.get();b1.print();//默认调用子类的成员方法b1.A::print();system("pause");return 0;}


0 0
原创粉丝点击