我正在尝试为打印编写测试功能。一切都很好,但为什么不打印?我究竟做错了什么?有人可以帮帮我吗?感谢
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;
}
答案 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,尤其是在头文件中。