头文件与源文件分离
class Object { public: int x; void Test(); // (1) 成员函数的声明 }; void Object::Test() //(2) 成员函数写在外边,加上类名限定 { }
总结下如何分离:(1)成员变量:还是写在类里面
(2)成员函数:在类里保留其函数声明,而函数的定义写在类体之外。写在外面的时候,要加上类名限定(Object::)其中,::可以理解为是表示范围的符号
按照一贯的原则:类型定义写在头文件里,函数实现写在源文件里。
class Object //写在头文件里 { public: int x; void Test(); };
#include <stdio.h> // 实现写在源文件里 #include "Object.h" void Object::Test() { printf("x is %d \n", x); // 仍然可以省略this-> }