-1

これは、これまでのクラス ファイルの内容であり、次のステップがどうなるかはよくわかりません。Hit は値を 1 増やし、reset は値を 0 に戻す必要があります。.cpp ファイルのメイン関数は、手動の hit コマンドと set コマンドを使用してその機能をテストする必要があります。これを実装する方法に関するヘルプやアドバイスをいただければ幸いです。

ヘッダー ファイル WebCounter.h:

#include<iostream>
  class WebCounter {
    private:
      int value;
      value=0;
    public:
      void set(int value);
      void reset();
      void hit();
      int get();
};

カウンターをテストするための主な機能

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

  using namespace std;

  int main() {

    WebCounter hitcount;
    hitcount.reset();
    cout << hitcount.get() << endl;

    int value;

    value=hitcount.get();
    cout << value << endl;
    hitcount.hit();
    hitcount.hit();
    hitcount.hit();
    hitcount.hit();
    cout << hitcount.get() << endl;
    hitcount.set(77);
    cout << hitcount.get() << endl;
    hitcount.set(89);

    return 0;
}

これらは、.cpp ファイルをコンパイルするときに発生するエラーです。

g++ WebCounter.cpp
/tmp/cce7bLn5.o: In function `main':
WebCounter.cpp:(.text+0x10): undefined reference to `WebCounter::reset()'
WebCounter.cpp:(.text+0x1c): undefined reference to `WebCounter::get()'
WebCounter.cpp:(.text+0x41): undefined reference to `WebCounter::get()'
WebCounter.cpp:(.text+0x6c): undefined reference to `WebCounter::hit()'
WebCounter.cpp:(.text+0x78): undefined reference to `WebCounter::hit()'
WebCounter.cpp:(.text+0x84): undefined reference to `WebCounter::hit()'
WebCounter.cpp:(.text+0x90): undefined reference to `WebCounter::hit()'
WebCounter.cpp:(.text+0x9c): undefined reference to `WebCounter::get()'
WebCounter.cpp:(.text+0xc6): undefined reference to `WebCounter::set(int)'
WebCounter.cpp:(.text+0xd2): undefined reference to `WebCounter::get()'
WebCounter.cpp:(.text+0xfc): undefined reference to `WebCounter::set(int)'
collect2: ld returned 1 exit status
4

2 に答える 2

0

WebCounter.h で宣言したすべての関数 (get、hit、set など) の実装を持つ WebCounter.cpp を作成します。次に、それをコンパイルしてみてください。正常にコンパイルされたら、main メソッドを含む .cpp をコンパイルしてみてください。

于 2013-03-04T06:23:37.943 に答える
0

次の実装を提供する必要があります。

  void WebCounter::set(int value);
  void WebCounter::reset();
  void WebCounter::hit();
  int WebCounter::get();
于 2013-03-04T06:28:46.913 に答える