我创建了一个名为Document的类,该类应该有一个名为Email的子项。我的Document类工作正常,但我遇到了Email类的构造函数问题。我收到此错误:未定义引用`Email :: Email(std :: string,std :: string,std :: string,std :: string)。
Document构造函数有一个私有成员变量,它是一个名为text
的字符串///////// Document.cpp /////////
#include <iostream>
#include "Document.hpp"
#include <string>
using std::string;
Document::Document(string t)
{
text = t;
}
我希望Email类有四个也是字符串的成员变量。其中一个,body,应该存储在继承的文本成员变量中。构造函数看起来像这样
////// Email.cpp //////
#include <iostream>
#include "Email.hpp"
#include "Document.hpp"
#include <string>
using std::string;
Email::Email(string b, string s, string r, string t) :
Document(b),
sender(s),
recipient(r),
title(t){
}
我很确定电子邮件的头文件是正确的,但万一它不是,它看起来像这样:
///// Email.hpp ////////
#ifndef EMAIL_HPP
#define EMAIL_HPP
#include <string>
#include "Document.hpp"
using std::string;
class Email : public Document{
public:
Email(string b, string s, string r, string t);
void print();
private:
string sender;
string recipient;
string title;
};
#endif
在我的单独主要功能中,我然后尝试创建类Email的实例,这是我收到错误的地方
///// main.cpp ///////
#include <iostream>
#include <string>
#include "Document.hpp"
#include "Email.hpp"
using std::string;
int main(){
Email e("Hello", "", "", "");
return 0;
}
我认为我在Email构造函数中有语法错误,但我无法弄清楚出了什么问题。