我是个容易忘记东西的人,不知道我以前有没有学过C++的初始化表这个东东,还是我写的类都经常没用到过的原因;反正我的记意里有个调用父类的构造函数的方法就是在子类构造函数的后面加个冒号调用,但具体我就不知道它的名字了,今天没想到又可以加深我对C++的了解,所以写下这编来记录下C++的初始化表的作用。
要说初始化表的重要作用我网上找了下就只找了这两个常用的:
(1)如果类存在继承关系,派生类必须在其初始化表里调用基类的构造函数。
(2)类的const常量只能在初始化表里被初始化,因为它不能在函数体内用赋值的方式来初始化。
例:
class A
{
const int tmp;//A类里的常量
public A(int value):tmp(value)//使用初始化表来初始化常量tmp
{
}
};
class B
{
public B(int bvalue):A(bvalue)//使用初始化表来调用父类的构造函数
{
}
};