我遇到了一個我無法解決的C++程序中的問題。 我想傳遞一個對象作爲另一個的構造參數,但我無法弄清楚如何做到這一點。對象成員的問題
我的主要工作是創建一個模擬對象。在模擬中,我創建了兩個對象平面和模型。事情是,我想通過模型化對象中的平面對象。
我的第一個對象是模擬。
#include "Simulation.h"
#include "Modelisation.h"
#include "Planete.h"
Planete *Obj;
Modelisation *Model;
Simulation::Simulation (int argc, char **argv)
{
Obj = new Planete ("Terre", (5.98*pow(10.0,24.0)), 6378.137, 0, 0, 0);
Model = new Modelisation (argc, argv,"Modelisation",1600 ,1004, 306, 0);
};
Simulation::~Simulation()
{
delete Obj;
delete Model;
};
Modelisation.h
class Modelisation
{
private:
int hauteur, largeur, x, y;
int fenetre;
//Planete ClonePlanete
public:
Modelisation (int argc, char **argv, char[], int, int, int, int);
~Modelisation();
static void Dessiner();
static void Redessiner (int, int);
void InitCallBack();
};
Modelisation.cpp
#include "stdafx.h"
#include "Modelisation.h"
#include "Camera.h"
#include "Planete.h"
Camera *camera;
Modelisation::Modelisation (int argc, char **argv, char nomFenetre [] ,int hauteur, int largeur, int x, int y)
{
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_SINGLE);
glutInitWindowSize (hauteur, largeur);
glutInitWindowPosition (x, y);
fenetre = glutCreateWindow (nomFenetre);
camera = new Camera;
// Planete ClonePlanete = new Planete(planete); // Basicaly that's what i'm trying to do
};
Modelisation::~Modelisation()
{
delete camera;
};
Planete.h
class Planete
{
private:
std::string nom;
double masse;
double diametre;
struct position { double x, y, z;};
double x,y,z;
public:
Planete (std::string nom, double masse, double diametre, double x, double y, double z);
Planete (const Planete &);
~Planete();
};
感謝您的幫助,將不勝感激!
這並不完全清楚你在這裏問什麼。究竟是哪條線給你帶來麻煩? – 2011-04-15 15:07:44
您可以嘗試發佈最簡單的代碼示例,該示例不會編譯/工作,可以證明您的問題。我並不是說沒有人會閱讀你的代碼,但這會讓它變得更加困難。 – briantyler 2011-04-15 15:08:24
你說得對,那就是我要做的。 – Athanase 2011-04-15 15:09:51