| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 792 人关注过本帖
标题:对类组合和继承的思考
只看楼主 加入收藏
hgxwd310
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-9-10
收藏
 问题点数:0 回复次数:3 
对类组合和继承的思考

#include <iostream>

using namespace std;

class A{
public:
int i;
A(int ii):i(ii){cout<<"A constructor"<<endl;}
~A() {cout<<"A destructor"<<endl;}
void fun() const {cout<<"A fun()"<<endl;}
};


class B{
public:
int i;
B(int ii):i(ii){cout<<"B constructor"<<endl;}
~B(){cout<<"B destructor"<<endl;}
void fun() const {cout<<"B fun()"<<endl;}
};


class C:public B{
public:
A a;
C(int ii):B(ii),a(2*ii) {cout<<"C constructor"<<endl;}
~C() {cout<<"C destructor"<<endl;};
void fun() const {a.fun();B::fun();}
};


int main()
{
C c(47);
c.fun();
c.a.fun();
cout<<"c.i:"<<c.i<<endl;
cout<<"c.a.i:"<<c.a.i<<endl;
return 0;
}

搜索更多相关主题的帖子: 继承 思考 
2007-09-12 23:08
wangweicoin
Rank: 1
等 级:新手上路
威 望:1
帖 子:58
专家分:0
注 册:2007-7-16
收藏
得分:0 

楼主要问什么呢?是初始化顺序吗?当然是先初始化继承成员,然后是內嵌成员,最后是本类普通成员。


~我的人生不是套公式~
2007-09-12 23:27
hgxwd310
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-9-10
收藏
得分:0 
类的组合和继承的区别??
2007-09-12 23:37
wangweicoin
Rank: 1
等 级:新手上路
威 望:1
帖 子:58
专家分:0
注 册:2007-7-16
收藏
得分:0 
类的继承是子类可以访问父类的成员函数,继承下来就是子类自己的了(is a)子类自己便可调用,而组合是一种代码的复用,就是在一个类中在创建另一个类的对象,然后再通过那个对象来访问它的成员函数(has a),节省了代码的重复编写。

~我的人生不是套公式~
2007-09-13 00:06
快速回复:对类组合和继承的思考
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016478 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved