#include <iostream>
using namespace std;
class S{
private:
int m;
public:
S(int a){ //类C的构造函数
m=a;
cout<<m<<"!S\n";
}
};
class P{
private:
int n;
public:
P(int b){ //类P的构造函数
n=b;
cout<<n<<"!P\n";
}
};
class T{
private:
S s;
P p; //定义两个对象成员
int c;
public:
T(int i,int j,int k):p(j),s(i){ //参数表0中包括对象成员的参数和自己函数体中需要用到的参数
//这里是初始化表,提供初始化对象成员所需要的参数
c=k;
cout<<c<<"!T\n";
}
};
int main()
{
T t(1,2,3); //类定义一个对象并初始化。先调用对象成员的构造函数,初始化对象成员
//还要初始化本类的非对象成员
return 0;
}
3.png
客观世界中对象间的包含关系。
把已有类的对象作为新类的数据成员,称为新建类的子对象或对象成员。
对象成员的初始化:新类的构造函数既要对本类基本数据成员初始化,还负责调用子对象的类的构造函数,以完成对子对象的初始化。
网友评论