`

[C++][基础知识 2] 二 支配规则

    博客分类:
  • C++
 
阅读更多
二 支配规则
当派生类中新增的成员与基类中的成员同名时,则在没有使用作用域运算符时缺省指代的是派生类中新增的同名成员。这种优先关系称为支配规则。例如:

#include<iostream.h>
class A{
public:
	int a,b;
	A(int x,int y){a=x;b=y;}
};
class B:public A{
public:
	int a;
	B(int x,int y,int z):A(y,z){a=x;}
};
void main()
{
	B b1(1,2,3);
	cout<<b1.a<<'\t'<<b1.A::a<<'\t'<<b1.b<<'\n';//A行
}


程序中A行的b1.a没有指明所属的类,即缺省指的是派生类中新增的成员变量a,而b1,A::a则是指从基类中继承来的成员a,由于派生类中没有与基类成员变量b同名的新增成员,则成员b1.b不需要指明所属的基类。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics