我是一个从事小型项目的业余爱好程序员。我发现将类定义与声明分离只会使我更难处理我的类。根据彼此的成员函数,与多个定义或类相关的编译器和链接器错误迫使我这样做。有没有办法避免错误,而不是将类定义与声明分开?如果失败了,有没有办法将课程保存在一个文件中?我一直在读,我不应该包含源文件。
答案 0 :(得分:1)
是的,如果你有复杂的类,它可能会大大增加你的编译时间。这很简单,就是把每件事都留在班里“
#ifndef __ACLASS_H__
#define __ACLASS_H__
class A {
public:
A() : i(0) {}
int getI() { return i; }
void setI(int _i) { i = _i; }
protected:
int i;
};
#endif
#ifndef
指令是避免多重声明所必需的。
尽可能使用前向声明(例如,指向类的指针)也会降低类的依赖关系树的复杂性。