-1

我正在尝试为打印编写一个测试函数。一切都编译得很好,但为什么不打印?我究竟做错了什么?有人可以帮帮我吗?谢谢

单线.cpp

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


OneLine::OneLine() {

cout << "test";

}

OneLine::~OneLine() {

cout << "~test";

}

单线.h

#include <string>
using namespace std;

class OneLine {

    OneLine();
    ~OneLine();
    void breakLine();
    void printReverse();
    istream &readLine(istream& is);
    string returnLine();

private:
    string oneLine;
    char **words;
    int wordCount;
    void resetLine();

};

主文件

#include "oneLine.h"

using namespace std;

int main () {

OneLine oLine();


return 0;
}
4

1 回答 1

5

这是一个函数声明:

OneLine oLine(); // declaration of a function returning a OneLine object

要默认构造一个OneLine对象,您需要

OneLine oLine;

或者,在 C++11 中,您还可以使用{}

OneLine oLine{};

接下来,正如@POW 在评论中指出的那样,您的默认构造函数和析构函数必须是 make public。目前他们是private.

顺便说一句,请注意这using namespace std被认为是不好的做法,尤其是在头文件中。

于 2013-09-30T19:08:21.190 回答