类中指任何类型的 const  和引用数据成员。 const  和引用数据成员也必须是在成员初始化表中被初始化 ,否则,就会产生编译时刻错误。例如,下列构造函数的实现将导致编译时刻错误:
class ConstRef {
public:
ConstRef( int ii );
private:
int i;
const  int ci;
int &ri;
};
ConstRef::ConstRef( int ii )
{ //  赋值
i = ii;   // ok
ci = ii; //  错误 不能给一个  const  赋值
ri = i;   //  错误  ri  没有被初始化
}
当构造函数体开始执行时,所有 const  和引用的初始化必须都已经发生。因此,只有将它们在成员初始化表中指定这才有可能。正确的实现如下:
// ok:  初始化引用和  const
ConstRef::ConstRef( int ii ):ci( ii ), ri( i )
{ i = ii; }
每个成员在成员初始化表中只能出现一次,初始化的顺序不是由名字在初始化表中的顺序决定,而是由成员在类中被声明的顺序决定的。

成员初始化表只提供该类数据成员的初始化。在构造函数体内对数据成员设置值是一个赋值操作。