class A
{
public:
	int ival;
	A()
	{
		ival = 1;
	}
	void print(){
		cout << ival << endl;
	}
};

class Beta : public A
{
public: 
	int ival;
	Beta()
	{
		ival = 2;
	}
};

void main()
{
	Beta b;
 	b.print();
 	cout << b.ival << endl;
	getchar();
}

程序的输出结果为:1 2。子类中的ival覆盖掉了父类中同名的成员变量,但是子类继承了父类的print函数,此函数打印的应该是父类中被覆盖的ival的值,也就是1。在执行子类的构造函数体前,先调用父类的构造函数。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-16
  • 2022-01-08
  • 2021-07-25
  • 2021-05-28
  • 2021-09-03
猜你喜欢
  • 2021-10-04
  • 2021-12-14
  • 2021-11-08
  • 2021-10-07
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案