Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1528023
  • 博文数量: 329
  • 博客积分: 2773
  • 博客等级: 少校
  • 技术积分: 4219
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:17
个人简介

淡定从容,宁静致远

文章分类

全部博文(329)

文章存档

2016年(4)

2015年(50)

2014年(68)

2013年(45)

2012年(162)

分类: LINUX

2012-12-18 22:00:49

//7.11 多继承
#include
using std::cout;
using std::endl;
class A1
{
public:
 int x;
 A1(int x1):x(x1)
  {
  cout<<"A1的构造函数被执行"< }
 ~A1()
 {
  cout<<"A1的析构函数被执行"< }
 void f()const
 {
  cout<<"A1::f()被执行"<  cout<<"调用者地址:"<  cout<<"sizeof(*this)="<  cout<<"x的地址:"<<&x< }
};
class A2
{
public:
 int x;
 A2(int x1):x(x1)
 {
  cout<<"A2的构造函数被执行"< }
 ~A2()
 {
  cout<<"A2的析构函数被执行"< }
 void f()const
 {
  cout<<"A2::f()被执行"<  cout<<"调用者地址:"<  cout<<"sizeof(*this)="<  cout<<"x的地址:"<<&x< }
};
class B:public A1,public A2
{
public:
 int x;
 B(int x1,int x2,int x3):A2(x2),A1(x1),x(x3)
 {
  cout<<"B的构造函数被执行"< }
 ~B()
 {
  cout<<"B的析构函数被执行"< }
 void f()const
 {
  cout<<"B::f()被执行"<  cout<<"调用者地址:"<  cout<<"sizeof(*this)="<  cout<<"x的地址:"<<&x< }
};
int main()
{
 B b(1,2,3);
 cout<<"b.A1::x="< cout<<"b.A2::x="< cout<<"b.x="< cout<<"-------------"<
 b.A1::f();
 b.A2::f();
 b.f();
 cout<<"&b="<<&b< cout<<"sizeof(b)="< cout<<"-------------"<
 return 0;
}
阅读(939) | 评论(0) | 转发(1) |
0

上一篇:成员变量隐藏

下一篇:继承

给主人留下些什么吧!~~