类:具有同种属性的对象称为类,是个抽象的概念。
比如C++定义一个类
class CTyre //轮胎类
{
private:
int radius; //半径
int width; //宽度
public:
CTyre(int r,int w):radius(r),width(w) { }
};
class CEngine //引擎类
{
};
class CCar { //汽车类
private:
int price; //价格
CTyre tyre;
CEngine engine;
public:
CCar(int p,int tr,int tw );
};
CCar::CCar(int p,int tr,int w):price(p),tyre(tr, w)
{
};
int main()
{
CCar car(20000,17,225);
return 0;
}
在主函数中
int main()
{
CCar car(20000,17,225);
return 0;
}
这里的car就是类CCar的对象
CCar里的price这样的就是类的成员。CCar也是一个封闭类,有两个成员对象。
上例中,如果 CCar类不定义构造函数, 则下面的语句会编译出错: CCar car; 因为编译器不明白 car.tyre该如何初始化。car.engine 的初始化没问题,用默认构造函数即可。 任何生成封闭类对象的语句,都要让编译器明白,对象中的成员对象,是如何初始化的。 具体的做法就是:通过封闭类的构造函数的初始化列表。 成员对象初始化列表中的参数可以是任意复杂的表达式,可以包括函数,变量,只要表达式中的函数或变量有定义就行。