1

我是一个从事小型项目的业余程序员。我发现将类定义与声明分开只会使我的类更难使用。与依赖于彼此的成员函数的多个定义或类相关的编译器和链接器错误迫使我这样做。有什么方法可以避免错误,同时不将类定义与声明分开?如果做不到这一点,有没有办法将课程保存在一个文件中?我一直在阅读,我永远不应该包含源文件。

4

1 回答 1

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指令对于避免多次声明是必要的。

尽可能使用前向声明(例如指向类的指针)还可以降低类依赖树的复杂性。

于 2013-06-15T08:48:43.773 回答