未解析的外部符号LINK 2019



我有一个在。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/

相关内容

  • 没有找到相关文章

最新更新