7_18_1.cpp
来自「C++案例教程源代码」· C++ 代码 · 共 34 行
CPP
34 行
#include <iostream>
using namespace std;
class Base
{protected:
int b;
public:
Base(int i) {b=i; }
void disp() {cout<<"Base: b="<<b<<endl;}
};
class Base1:public Base
{ int b1;
public:
Base1(int i,int j):Base(j) {b1=i; }
};
class Base2:public Base
{ int b2;
public:
Base2(int i,int j):Base(j) {b2=i; }
};
class Derived:public Base2,public Base1
{ int d;
public:
Derived(int i,int j,int a,int b):Base1(j,a),Base2(j,b) {d=i; }
void disp() {cout<<"Derived: d="<<d<<endl; }
};
int main()
{ Derived objD(1,2,3,4);
objD.disp(); //语句1:同名隐藏
objD.Base::disp(); //语句2:有二义性,不能区分objD.Base1::disp()与objD.Base2::disp()
objD.Base1::disp();//语句3:通过作用域标识符访问Base1继承来的disp()
objD.Base2::disp();//语句4:通过作用域标识符访问Base2继承来的disp()
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?