我有一个在.cpp文件中声明的类,以及用.h文件编写的结构, 为了在其他.cpp文件中使用该类
示例:
//class1.cpp //class1.h
class class1 class class1
{ {
private: private:
double X; double X;
... ...
public: public:
double getX(){return X;} double getX();
... ...
}; };
Class2将包含" class1.h",因此允许我使用class1,但仅限于新类class2。
我想要的是什么:
include "class1.h"
class1 c;
class class2{/* ... */};
是否有可能,如果是这样,如何在class2.cpp中声明类型为class1的全局对象?
答案 0 :(得分:2)
你的class1.cpp就是问题所在。
看起来应该更像这样:
double class1::getX(){return X;}
你不需要其他东西。
至于使c只能在class2中使用,你可以使你当前的c静态像这样:
static class1 c;
这会导致它只在该文件中可见。 或者,您可以在class2中创建一个静态变量。 class2.h:
class class2{
private:
static class1 c;
}
class2.cpp:
class1 class2::c;
这是您初始化它的地方。 (100%必要)
http://www.cplusplus.com/doc/tutorial/classes/
http://www.learncpp.com/cpp-tutorial/811-static-member-variables/