【C++】虚基类的应用实例【原创技术】


题目:

在各类中分别增加以下成员:

base1中增加私有数据成员int b1

base2中增加私有数据成员int b2

level1中增加私有数据成员int l1

level2中增加私有数据成员int l2

toplevel中增加私有数据成员int t


class_picture.jpg

源代码:


//科目:C++实验5
//题目:修改书本p194页4.18的程序
//作者:武叶
//语言:C++
//创作时间:2012年4月14日
#include<iostream>
using  namespace std;
class base1
{
private:
int b1;
public  :
base1(int i)
{
b1=i;
cout<<"class  base1"<<endl;
}
void  show()
{
cout<<"b1:"<<b1<<endl;
}
};
class  base2
{
private:
int b2;
public:
base2(int  j)
{
b2=j;
cout<<"class base2"<<endl;
}
void  show()
{
cout<<"b2:"<<b2<<endl;
}
};
class  level1:public base2,virtual public base1
{
private:
int  l1;
public:
level1(int i,int j,int  k):base1(i),base2(j)
{
l1=k;
cout<<"class  level1"<<endl;
}
void  show()
{
base1::show();
base2::show();
cout<<"l1:"<<l1<<endl;
}
};
class  level2:public base2,virtual public base1
{
private:
int  l2;
public:
level2(int i,int j,int  m):base1(i),base2(j)
{
l2=m;
cout<<"class  level2"<<endl;
}
void  show()
{
base1::show();
base2::show();
cout<<"l2:"<<l2<<endl;
}
};
class  toplevel:public level1,virtual public level2
{
private:
int  t;
public:
toplevel(int i,int j,int m,int k,int  n):base1(i),level2(i,j,k),level1(i,j,m)
{
t=n;
cout<<"class  toplevel"<<endl;
}
void  show()
{
level1::show();
level2::show();
cout<<"t:"<<t<<endl;
}
};
int  main()
{
toplevel obj(1,2,3,4,5);
obj.show();
return 0;
}

更多详细内容:::::去学习

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值