实例化&使用标题和放大器的c ++类实施文件

时间:2015-11-03 07:48:33

标签: c++ class header-files

我基本上试图用c ++中的类实例化一个对象并使用其中一个成员函数。这感觉就像一个非常标准的问题,但是我在网上找到的所有解决方案都是简单的括号问题,或者看起来非常明显的范围分辨率,或者是过于复杂的实际情况。我真的很感激任何能够帮助我理解我对这些文件做错的事。

我得到的错误是

  

对Test :: Test()'

的未定义引用      

对Test :: msg()'

的未定义引用

我有三个文件,一个是main,一个是Test.hpp,另一个是Test.cpp。

的main.cpp

#include "Test.hpp"
#include <iostream>
using namespace std;

int main(){

    Test var;
    var.msg();

    return 0;
}

Test.hpp

#ifndef TEST_HPP
#define TEST_HPP

class Test{
public:
    Test();
    void msg();
};
#endif

Test.cpp的

#include "Test.hpp"
#include <iostream>
using namespace std;

Test::Test(){
    cout << "instantiated\n\n";
}
void Test::msg(){
    cout << "Hello\n\n";
}

1 个答案:

答案 0 :(得分:0)

考虑到您使用代码块作为您的IDE,只需转到:项目设置 - &gt;项目构建选项 - &gt;搜索目录 - &gt;添加并找到.cpp和.h文件的位置。然后它会询问您是否要将此作为相对路径保留。说不。

如果你使用其他一些ide几乎相同的过程,只需评论我,我会为你提供步骤。

顺便说一下,因为你已经将iostream包含在测试中,所以不需要在主中包含iostream。