首页 > 代码库 > C++发哥笔记(1):class的分离式写法
C++发哥笔记(1):class的分离式写法
把class的成员函数的定义写在class之外,即class的大括号的外面。
例如,
/////////// main.cpp ////////////
class Object {
public: int x;
void Test(); // (1) 成员函数的声明
};
void Object::Test() //(2) 成员函数写在外边,加上类名限定
{ }
总结一下这种写法:
1:成员变量:还是写在类里面
2:成员函数:在类里保留其函数声明,而函数的定义写在类体之外。
3:写在外面的时候,要加上类名限定(Object::)
其中,::可以理解为是表示范围的符号
分开为头文件和源文件
按照一贯的原则:类型定义写在头文件里,函数实现写在源文件里。
/////////// Object.h ////////////
class Object {
public:
int x;
void Test();
};
/////////// Object.cpp ////////////
#include <stdio.h>
#include "Object.h"
void Object::Test() {
printf("x is %d \n", x); // 仍然可以省略this->
}
注意:
1.不一定要把所有函数定义都拿出来,可以只拿一部分出来。 如果写在类体里面,编译器按照inline的规则编译它 (inline在第8章定义) 类体之外,则是普通的函数
2. 在类体中,成员函数与成员变量的排列顺序是自由的。
C++发哥笔记(1):class的分离式写法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。