从类构造函数中的txt文件中读取

时间:2014-03-07 12:30:42

标签: c++ ifstream

我想测试构造函数的功能并遇到一个有趣的问题。编译该代码后,我得到引用main()的链接错误LNK2019。如何能够在我的情况下逐行读取和复制one.txt的内容?我指的是7.01中的“Thinking in C ++”一书,但自从使用Visual Studio以来我不能使用main(int argc,char * argv [])版本..

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

class Text
{
    string text;
public:
    Text();
    Text(const string& name) 
    {
        ifstream infile;
        infile.open(name);
        if(!infile.good())
        {
            cout << "File is not open";
        }
        else
        {
            string line;
            while(getline(infile,line))
                text = text + line + '\n';
        }
    };
    string contetns()
    {
        return text;
    };
};

int main()
{
    Text o1;
    Text o2("one.txt");
    cout << "content: " << o1.contetns() << endl;
    cout << "content: " << o2.contetns() << endl;
    system("pause");
}

2 个答案:

答案 0 :(得分:2)

正如tmaric所说,你需要一个空的构造函数:

//Text();
Text(){};

答案 1 :(得分:1)

您必须定义空的析构函数。