C++单独的功能打印

New*_*ile -1 c++ printing syntax function object

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

oneLine.cpp

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


OneLine::OneLine() {

cout << "test";

}

OneLine::~OneLine() {

cout << "~test";

}
Run Code Online (Sandbox Code Playgroud)

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

};
Run Code Online (Sandbox Code Playgroud)

main.cpp中

#include "oneLine.h"

using namespace std;

int main () {

OneLine oLine();


return 0;
}
Run Code Online (Sandbox Code Playgroud)

jua*_*nza 5

这是一个函数声明:

OneLine oLine(); // declaration of a function returning a OneLine object
Run Code Online (Sandbox Code Playgroud)

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

OneLine oLine;
Run Code Online (Sandbox Code Playgroud)

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

OneLine oLine{};
Run Code Online (Sandbox Code Playgroud)

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

另外,请注意这using namespace std被认为是不好的做法,特别是在头文件中.

  • @NewFile就目前而言,*所有*在`OneLine`中都是`private`. (2认同)