2

了解しました。C++でテキストアドベンチャーゲームを作成していますが、まったく新しいゲームです。私はJavaと他のいくつかの言語の経験があります。しかし、私には問題があります。メインファイルから他のファイルにクラスを呼び出そうとすると、エラーが発生します。main.cppをヘッダーファイルまたは.cppファイルにインクルードしても取得できます。.cppを別のファイルに呼び出すのは悪い習慣であることはすでに知っていますが、mainにはヘッダーファイルがないため、正確にインクルードすることはできません。

4

2 に答える 2

4

最初のルール; コードを投稿してください。コード自体は、説明よりもはるかに優れたデバッグツールです。とにかく...

main.cppをヘッダーファイルまたは.cppファイルにインクルードしても取得できます。

これは逆です。クラス定義を含むヘッダーファイルを、それらを使用するファイルにインクルードします。その逆ではありません。それで...

// foo.h
#ifndef FOO_H
#define FOO_H

#include <string>

class foo {
public:
    foo(const std::string& s);
    void print_whatever() const;
private:
    std::string _whatever;
};

#endif

//foo.cpp
#include <foo.h>
#include <iostream>

foo::foo(const std::string& s) 
  : _whatever(s) { }

void foo::print_whatever() const { 
    std::cout << _whatever; 
}

//main.cpp
#include <foo.h>

int main() {
    foo f("hola");
    f.print_whatever();
}
于 2012-10-11T00:18:25.677 に答える
3

C++はJavaではありません。クラス宣言をからmain.cppヘッダーファイルに移動し、定義を別の.cppファイルに配置します。

次に、クラスを使用するファイル(を含む)にヘッダーファイルをインクルードしますmain.cpp

于 2012-10-11T00:17:25.280 に答える