C ++单独的功能打印

时间:2013-09-30 19:07:21

标签: c++ function object printing syntax

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

oneLine.cpp

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


OneLine::OneLine() {

cout << "test";

}

OneLine::~OneLine() {

cout << "~test";

}

oneLine.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();

};

的main.cpp

#include "oneLine.h"

using namespace std;

int main () {

OneLine oLine();


return 0;
}

1 个答案:

答案 0 :(得分:5)

这是一个函数声明:

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

要默认构建OneLine对象,您需要

OneLine oLine;

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

OneLine oLine{};

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

另外,请注意using namespace std is considered bad practice,尤其是在头文件中。