<span style="font-size:18px;">/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:d.cpp
*作 者:张旺华
*完成日期:2015年6月1日
*版 本 号:v1.0
*/
#include<iostream>
using namespace std;
class A
{
public:
int n;
};
class B:virtual public A {}; // class B:virtual public A{};
class C:virtual public A {}; // class C:virtual public A{};
class D:public B,public C
{
public:
int getn() {return B::n;}//
};
int main()
{
D d;
d.B::n=10; //
d.C::n=20;
cout<<d.getn()<<endl; //
return 0;
}
</span>
运行结果:
知识点运用及学习心得:
虚基类派生避免了重载发生的错误,两类多继承同一类,在由这两类为虚基类派生出另一类后,最初的一类自在最后一次调用构造函数。
时间: 2024-12-23 16:24:58