C 子对象和堆对象
2008-02-23 05:25:35来源:互联网 阅读 ()
当一个类的成员是某一个类的对象时,该对象就为子对象。子对象实际就是对象成员。如:
class A { public: … private: … }; class B { public: … private: A a; … }; |
其中,B类中成员a就是子对象,他是A类的对象作为B类的成员。
在类中出现了子对象或称对象成员时,该类的构造函数要包含对子对象的初始化,通常采用成员初始化表的方法来初始化子对象。在成员初始化表中包含对子对象的初始化和对类中其他成员的初始化。下面举一例子说明成员初始化的构造。
#include class A { public: A(int i, int j) { A1=i; A2=j; } void print() { cout< private: int A1, A2; }; class B { public: B(int i, int j, int k):a(i, j), b(k) { } void print(); private: A a; file://子对象 int b; }; void B::print() { a.print(); cout< } void main() { B b(6, 7, 8); b.print(); } |
该程式的输出结果为:
6,7
8
其中,a(i, j), b(k)是成员初始化表,他有二项,前一项是给子对象a初始化,其格式如下:
<子对象名> (<参数表>)
后一项是给类B的数据成员b初始化。这一项也能够写在构造函数的函数体内,使用赋值表达式语句
b = k;
给类B的数据成员初始化。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: C 常类型(const)
下一篇: C 单继承
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash