こんにちは私はBallクラスを持っています。粒子からベクトルをメンバーとして持つクラスデストラクタ
class Ball: public Pang::particle {
private:
double radio;
double rcolor, gcolor, bcolor; // Range 0.0-1.0 Color (given in RGB space)
継承:
class particle {
protected:
double mass;
vector3 position;
vector3 velocity;
vector3 acceleration;
vector3 forceAccumulator;
int state;
double time_remaining;
public:
particle();
particle(const particle &rhs)
{
mass=rhs.mass;
position = rhs.position;
velocity = rhs.velocity;
acceleration = rhs.acceleration;
forceAccumulator = rhs.forceAccumulator;
state = rhs.state;
time_remaining = rhs.time_remaining;
}
だから私の疑問はここで私はpangScenarioクラスを持っている:私はPangScenarioにベクトルを使うよう
namespace Pang {
class PangScenario {
friend class ReflexAgentAI;
friend class SimulationAI;
private:
//Attributes are:Four planes, each one representing a plane (scenario margin). el valor de position
//Plane top;
Plane bottomBorder;
Plane leftBorder;
Plane rightBorder;
double limitPlane;
//A ball positioned on it.
//Ball scenarioBall;
vector<Ball> playingBalls;
character* characterPlayerOne;
character* characterPlayerTwo;
Ball* projectilePlayerOne;
Ball* projectilePlayerTwo;
double lastShotPlayerOne;
double lastShotPlayerTwo;
double lastDeadPlayerOne;
double lastDeadPlayerTwo;
int scorePlayerOne;
int scorePlayerTwo;
int livesPlayerOne;
int livesPlayerTwo;
int numberVictoriesPlayerOne;
int numberVictoriesPlayerTwo;
int numberTies;
double widthGameField; // in meters
double heightGameField; // in meters
//friend ReflexAgentAI;
public:
PangScenario();
PangScenario(double width, double height);
PangScenario(const PangScenario &rhs);
virtual ~PangScenario()
{
if (projectilePlayerOne) delete projectilePlayerOne;
if (projectilePlayerTwo) delete projectilePlayerTwo;
if (characterPlayerOne) delete characterPlayerOne;
if (characterPlayerTwo) delete characterPlayerTwo;
//delete playingBalls;
}
だから、私は追加する必要がありますかPangScenarioのデストラクタのplayingBallsにベクトルのデストラクタ?もしそうなら、私はどのようにそれを行うことができますか?おそらく、単純な
for(int i=0 ; i < playingBalls.size(); ++i) {
//pd = *it;
playingBalls.erase(i); or delete playingBalls[i];
}
::のような
何かplayingBalls.clear();
あなたはvector
を破壊する必要はありません事前
これはどのようなプログラミング言語ですか?それはC++ですか?ご使用の言語で質問にタグを付けてください。あなたの質問を更新するには、投稿の下の** "[編集]" **リンクをクリックしてください。ありがとうございました。 – Pang