这是我在c ++中的Cell.cpp类:
#include "Cell.h"
Cell::Cell () {
alive = true ;
}
void Cell::setAlive (bool b) {
Cell::alive = b ;
}
bool Cell::isAlive () {
return Cell::alive ;
}
这是我的World.cpp类:
#include "World.h"
#include "Cell.h"
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std ;
World::World (int l , int c ) : lines (l) , columns(c) , rep () {};
World::World (int l , int c , bool ring) : lines (l) , columns(c) , ring (ring) ,rep() {};
World::~World() {};
int World::getLines () {
return lines;
}
int World::getColumns () {
return columns ;
}
void World::genarateWorld () {
srand (time(0));
rep[1][1].Cell::setAlive(true);
}
}
int World::nbAliveNeighbor (int i , int j ) {
int counter=0 ;
return counter ;
}
int World::nbAliveNeighborRing (int i , int j ) {
int counter=0 ;
return counter ;
}
void World::nextGenarate () {
}
void World::print (){
using namespace std ;
for (int i = 0 ; i < 5; i ++){
for (int j = 0 ; j < 5 ; j++) {
if (rep [i][j].Cell::isAlive ())
my [i][j]='*';
else
my [i][j]='-';
}
for (int i = 0 ; i < 5; i ++){
for (int j = 0 ; j < 5 ; j++) {
cout << my[i][j] << "\t" ;
}
cout <<endl ;
}
}
}
这是我的主要内容:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include "Cell.h"
#include "World.h"
using namespace std ;
int main (){
srand (time(0));
World my (5,5);
my.genarateWorld();
// my.print();
return 0 ;
}
在我的World.cpp中的void world :: genarateWorld()rep [1] [1] .Cell :: setAlive(true);有错误 我不知道如何初始化代表! 请帮帮我
这是Cell.h
#ifndef CELL_H_
#define CELL_H_
class Cell {
private:
bool alive ;
public:
Cell () ;
void setAlive (bool b) ;
bool isAlive () ;
};
#endif
这是World.h
#ifndef WORLD_H_
#define WORLD_H_
#include "Cell.h"
class World {
private :
bool ring ;
int lines , columns ;
Cell **rep ;
char my [5][5];
public:
World (int l , int c );
World (int l , int c , bool ring);
~World() ;
int getLines () ;
int getColumns () ;
void genarateWorld () ;
int nbAliveNeighbor (int i , int j ) ;
int nbAliveNeighborRing (int i , int j ) ;
void nextGenarate () ;
void print ();
};
#endif /* WORLD_H_ */
答案 0 :(得分:1)
您将Cell::
添加到不需要的各种地方,并在一个地方出现错误
rep[1][1].setAlive(true);
不是
rep[1][1].Cell::setAlive(true);
和
bool Cell::isAlive () {
return alive ;
}
不
bool Cell::isAlive () {
return Cell::alive ;
}
和
void Cell::setAlive (bool b) {
alive = b ;
}
不
void Cell::setAlive (bool b) {
Cell::alive = b ;
}