1 静态自身类型的成员变量可以声明为类类型
在《C++中类的前向声明》中提到,在类中定义自身类型的成员变量时,由于类还没有定义完全,所以只能将该成员变量定义为自身类型的指针或引用。
class MyClass
{
MyClass *m_mc1;
MyClass &m_mc2;
static MyClass s_mc;
};
其中,m_mc1的类型是MyClass类的指针;m_mc2的类型是MyClass类的引用。而对于静态成员s_mc来说,可以将其直接声明为MyClass类的对象。
2 静态成员变量可以作为类的成员函数的默认实参
因为类的非静态成员是跟类的对象有关,所以不能将其作为类成员函数的默认实参。在MyClass类中添加其成员函数
void myFunc(MyClass* pmc = m_mc1)
{
}
其中&#