总结一下写法:
(1)成员变量:还是写在类里面
(2)成员函数:在类里保留其函数声明,而函数的声明写在类体之外。
(3)写在外面的时候,要加上类名限定(Object::),其中,::可以理解为是表示范围的符号。
class Object
{
public:
int x;
void Test(); // (1)成员函数的声明
};
void Object::Test() // (2)成员函数写在外边,加上类名限定
{
printf("x = %d \n", x);
}
int main()
{
Object obj;
obj.x = 1111;
obj.Test();
return 0;
}
按照一贯的原则:类型定义写在头文件里,函数实现写在源文件里
注意:
1、不一定要把所有的函数定义都拿出来,可以只拿出一部分出来。
如果写在类体里面,编译器按照inline的规则编译它,类体之外,则是普通的函数、
2、在类体中,成员函数与成员变量之间的排列顺序是自由的。