AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > C++

C++子对象和堆对象

51自学网 http://www.wanshiok.com
  子对象

  当一个类的成员是某一个类的对象时,该对象就为子对象。子对象实际就是对象成员。如:

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的数据成员初始化。

<

 

 

 
上一篇:异步消息的传递之回调机制  下一篇:局部类和嵌套类