c++ - 如何包含使用基类的类
问题描述
这个问题很难问,但我会尽力解释:我有一个类 World,它导入 Class Species,并保存 Species 列表。我需要在类 Species 中有指向类 World 的指针,但是如果我在声明 Species 错误发生之前导入 Class World。
伪代码示例:
import B
Class A
{
list of B
}
Class B
{
Class A* a
}
所以我需要导入A类来指向它,但是当我这样做时,B类没有在A类中声明。
我的代码:
#pragma once
#include <iostream>
class Species
{
protected:
std::string speciesName;
int strengh;
int effort;
int posX;
int posY;
int specieSymbol;
public:
Species();
Species(std::string speciesName, int strengh, int effort, int posX, int posY);
int getPosX();
int getPosY();
void setPosX(int x);
void setPosY(int y);
int getSpeciesSymbol();
std::string getSpeciesName();
virtual void action() = 0;
virtual void colision() = 0;
//void setWorld(World* w);
//World* getWorld();
~Species();
};
#pragma once
#include <iostream>
#include "Species.h"
#include <list>
#include "Board.h"
class World
{
private:
std::list <Species*> species;
Board* board;
public:
World(Board *board);
void addSpecies(Species* s);
void printSpecies();
void printWorld();
void Update();
~World();
};
解决方案
推荐阅读
- javascript - 我必须在 oidc-client.js 中使用 signoutRedirectCallback 吗?
- reactjs - ReactJS - 在 reducer 中使用 immutability-helper 的正确方法
- ruby-on-rails - Rails 5.2 Net::SMTPAuthenticationError - 535 身份验证失败:发送电子邮件时禁用帐户(本地主机和 Heroku)
- javascript - VueJS在一个文件中有两个相同的组件,其中一个的数据更改会更改另一个的数据?
- javascript - 使用 JQuery mousemove 函数时留在 DIV 内
- r - 如何通过选择 2 列的最大值来执行条件行和
- parsing - 从 Groovy DSL 文件中提取信息?
- fullcalendar - 自定义时间段
- rest - 微服务 - 在前端应用程序中处理异步数据创建
- java - 我想知道这意味着“数据类型的实际大小取决于实现”。