-1

印刷用のテスト関数を作成しようとしています。すべてが正常にコンパイルされますが、なぜ印刷されないのですか? 私は何を間違っていますか?誰かが私を助けてくれますか?ありがとう

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;
}
4

1 に答える 1

5

これは関数宣言です:

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

オブジェクトをデフォルトで構築するOneLineには、必要です

OneLine oLine;

または、C++11 では、以下も使用できます{}

OneLine oLine{};

次に、@POW がコメントで指摘しているように、デフォルトのコンストラクタとデストラクタを作成する必要がありpublicます。現在、それらはprivate.

余談ですが、特にヘッダー ファイルでは、using namespace stdは悪い習慣と見なされていることに注意してください。

于 2013-09-30T19:08:21.190 に答える