子对象
当一个类的成员是某一个类的对象时,该对象就为子对象。子对象实际就是对象成员。如:
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的数据成员初始化。 <  
1/2 1 2 下一页 尾页 |