定義
駐留在另一個對象中的對象子對象隱含關係。
例如,檔案是駐留在資料夾中的子對象,該資料夾是父對象。 子對象當一個類的成員是某一個類的對象時,該對象就為子對象。子對象實際就是對象成員。
如: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,78其中,a(i, j), b(k)是成員初始化表,它有二項,前一項是給子對象a初始化,其格式如下:子對象名 (參數表)後一項是給類B的數據成員b初始化。這一項也可以寫在構造函式的函式體內,使用賦值表達式語句b = k;給類B的數據成員初始化。