使用代码块

时间:2015-12-13 07:05:42

标签: c++

所以我正在学习CPP,我正在使用Codeblocks,当我尝试使用单独的文件创建一个构造函数和一个带有类的解构函数时,我不断收到错误

||=== Build: Debug in 1 (compiler: GNU GCC Compiler) ===|
C:\Users\xxxxx\AppData\Local\Temp\cclh2esZ.o||In function `main':|
C:\Users\xxxxx\Desktop\1\1\main.cpp|8|undefined reference to `Myclass::Myclass()'|
C:\Users\xxxxx\Desktop\1\1\main.cpp|8|undefined reference to `Myclass::~Myclass()'|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

这是我用来获取此错误的代码

main.cpp

#include <iostream>
#include "Myclass.h"

using namespace std;

int main()
{ 
    Myclass obj;
}

Myclass.h

#ifndef MYCLASS_H
#define MYCLASS_H


class Myclass
{
    public:
        Myclass();
        ~Myclass();
};

#endif // MYCLASS_H

Myclass.cpp

#include "Myclass.h"
#include <iostream>
using namespace std;
Myclass::Myclass()
{
   cout << "constructor"<< endl; //ctor
}

Myclass::~Myclass()
{
    cout << "deconstructor" << endl;
}

请帮助我,我已经被困了一天了,我真的需要帮助。提前致谢

2 个答案:

答案 0 :(得分:0)

我能想到的唯一能引起这种问题的是链接错误。

如果你进入File选项卡,然后选择class,并浏览窗口提示,它应该自动创建并链接标题和源文件。

如果要手动链接文件,可以添加文件所在文件夹的路径,在项目选项卡下,然后选择构建选项,然后搜索目录。当编译器查找#include时,将搜索您添加到编译器和链接器的任何地址。

答案 1 :(得分:0)

#include <iostream>
#include "Myclass.h"
#include "Myclass.cpp" // You forgot to reference this class.

using namespace std;

int main()
{ 
    Myclass obj;
}

您忘记了第3行。