C++ 未解析的外部符号链接2019
我在.cpp文件中声明了一个类,在.h文件中编写了结构, 以便在其他.cpp文件中使用该类 例如:C++ 未解析的外部符号链接2019,c++,class,header,global-variables,lnk2019,C++,Class,Header,Global Variables,Lnk2019,我在.cpp文件中声明了一个类,在.h文件中编写了结构, 以便在其他.cpp文件中使用该类 例如: //class1.cpp //class1.h class class1 class class1 { { private: private: double X;
//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;}
static class1 c;
你不需要其他的东西
至于使c仅在class2中可用,您可以将当前的c设置为静态,如下所示:
double class1::getX(){return X;}
static class1 c;
这将导致它仅在该文件中可见。
或者,您可以使c成为类2中的静态变量。
类别2.h:
class class2{
private:
static class1 c;
}
class2.cpp:
class1 class2::c;
这是您初始化它的地方。(100%必要)
在class2中声明class1类型的成员不是我的问题。我更感兴趣的是,使用一个全局对象class1独立于其他任何东西。静态属性对我没有帮助。