在 C++ 中包含头文件(class 定义和方法实现)
Including header files in C++ (class definition and method implementation)
我已经检查了 Whosebug 以找到我的问题的解决方案,但我认为我可能遗漏了一些东西。我试图在头文件 (.h) 中定义 class 并在 cpp 文件 (.cpp) 中实现其方法,但它不起作用。
main.cpp:
#include <iostream>
#include "Message.h"
using namespace std;
int main()
{
Message *t = new (Message);
t->display();
return 0;
}
Message.h:
#ifndef MESSAGE_H_INCLUDED
#define MESSAGE_H_INCLUDED
class Message {
public:
void display();
};
#endif // MESSAGE_H_INCLUDED
Message.cpp:
#include "Message.h"
void Message::display() {
cout << "Hello!";
}
我不明白为什么我总是收到以下错误
undefined reference to 'Message::display()'
用命令编译这个 g++ -std=c++11 Message.cpp main.cpp
我已经检查了 Whosebug 以找到我的问题的解决方案,但我认为我可能遗漏了一些东西。我试图在头文件 (.h) 中定义 class 并在 cpp 文件 (.cpp) 中实现其方法,但它不起作用。
main.cpp:
#include <iostream>
#include "Message.h"
using namespace std;
int main()
{
Message *t = new (Message);
t->display();
return 0;
}
Message.h:
#ifndef MESSAGE_H_INCLUDED
#define MESSAGE_H_INCLUDED
class Message {
public:
void display();
};
#endif // MESSAGE_H_INCLUDED
Message.cpp:
#include "Message.h"
void Message::display() {
cout << "Hello!";
}
我不明白为什么我总是收到以下错误
undefined reference to 'Message::display()'
用命令编译这个 g++ -std=c++11 Message.cpp main.cpp