2
これはコンソールベースの迷路ゲームです。アイデアは、ゲームクラスをヘッダーファイルに書き込んで、メインスレッドのクラスを使用することです。私は間違いがあるので、私はそれを正しくやっているかどうか分からない。私のコードにどのようにヘッダファイルを含めるのですか?C++コードでヘッダファイルをインクルードするより良い方法は何ですか?
私はCloud9を使用しているので、Cloud9とアプリケーションソフトウェアIDEの間に違いがあるかどうかはわかりません。私はC++には新しく、数週間(3-4)しか使用していないので、私が正しいことをしているかどうかを知りたいです。
#ifndef MAZEGAME_H
#define MAZEGAME_H
class Maze{
protected:
int width;
int height;
std::string maze;
public:
Maze(int width, int height){
this->width = width;
this->height = height;
}
static void setMazeBlock(std::string value){
this->maze += value;
}
void destroyMazeBlock(int set){
this->maze[set] -= this->maze[set];
}
std::string getMazeDrawing(){
return this->maze;
}
void setMazeDrawing(std::string val){
this->maze = val;
}
void drawMaze(int times = 1){
for(int i = 0; i <= times; ++i){
std::cout << this->maze;
}
}
void generate(){
for(int i = 0; i < this->width; ++i){
this->setMazeBlock("#");
}
this->setMazeBlock(std::endl);
for(int i = 0; i < this->width; ++i){
this->setMazeBlock("#");
for(int j = 0; j < this->height; ++j){
this->setMazeBlock(std::endl);
if(j == this->width){
this->setMazeBlock("#");
}
}
}
for(int i = 0; i < this->width; ++i){
this->setMazeBlock("#");
}
this->setMazeBlock(std::endl);
}
};
これはMazeGame.cpp次のとおりです:
両方のファイルがである
これでMazeGame.h:ここ
は私のコードが構成されている方法です同じディレクトリ。しかし、私は、コンソール上で、このエラーを取得しています:
/home/ubuntu/workspace/Maze/MazeGame.cpp:4:22: fatal error: MazeGame.h: No such file or directory
#include <MazeGame.h>
^
組み込みヘッダーには '#include'を、ユーザー定義ヘッダーには '#include" XXX.h "'を使用するべきです。 –
'this->'表記を削除してください。これはC++では必要ありません。 C++言語はjavaではありません。 –
より大きいメソッド定義をソースファイルに移動したい場合は、ビルドプロセスをスピードアップする必要があります。 –