我有一个在。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类型的全局对象是可能的吗?
你的class1.cpp就是问题所在。
它应该看起来像这样:
double class1::getX(){return X;}
你不需要那里的其他东西。
至于使c仅在class2中可用,您可以将当前的c设置为静态,如下所示:
static class1 c;
这会导致它只在该文件中可见。或者,您可以将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/