1.在C++中,如果确定了某一个构造函数的创建过程,在该构造函数中如果调用了其它重载的构造函数,它将不会执行其它构造函数的初始化列表部分代码,而是执行函数体代码,此时已经退化成普通函数了。例子说明如下:
class CBook{
public:
doublem_price;
CBook() {
CBook(8.8);
}
CBook(double price) : m_price(price) { }
};
int main(){
CBook c;
cout<< c.m_price << endl; // 此时并不会输出理想中的8.8
}
2.静态数据成员只能在全局区域进行初始化,而不能在类体中进行(构造函数中初始化也不行),且静态数据成员不涉及对象,因此不受类访问限定符的限制。
例子说明如下:
class CBook{
public:
staticdouble m_price;
};
doubleCBook::m_price = 8.8; // 只能在这初始化,不能在CBook的构造函数或直接初始化
3.类的静态成员函数可以调用静态数据成员,但是不能调用非静态数据成员和非静态成员函数
静态数据成员必须单独初始化
静态数据成员只有一份,且不依赖对象而存在
静态成员函数不能加const
4.友元函数访问对象中的成员需要通过对象名,因为友元函数里不含this指针。
5.类方法是指类中被static修饰的方法,无this指针
类方法是可以调用其它类的static方法的
可以在类方法中生成实例对象再调用实例方法
成员方法又称为实例方法