SDL_Rect get_m_position_image();
SDL_Rect* get_m_position_image();
Améliorer votre expérience CodeS-SourceS avec ce plugin:
http://codes-sources.commentcamarche.net/forum/affich-10000111-plugin-better-cs-2#cptpingu-signature
SDL_Rect* get_m_position_image();
SDL_Rect Piece::*get_m_position_image(){
m_position_image = new SDL_Rect();
m_position_image->x = m_x;
m_position_image->y = m_y;
return m_position_image;
}
Donc la définition de ma méthode se transforme en :
SDL_Rect Piece::*get_m_position_image(){
SDL_Rect* Piece::get_m_position_image() // on devrait même ajouter un const sur la méthode, pour plus de propreté { return m_position_image; }
Piece::Piece(int x, int y, std::string image):m_x(x), m_y(y), m_image(image){
m_position_image = new SDL_Rect;
m_position_image->x = x;
m_position_image->y = y;
}
SDL_Rect *Piece::get_m_position_image(){
m_position_image->x = m_x;
m_position_image->y = m_y;
return m_position_image;
}
Piece piece_1(47,47,"img/1.bmp");
string temp = "img/1.bmp";
Piece piece_1(47,47,temp);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSDL_Rect *Piece::get_m_position_image(){ m_position_image->x = m_x; m_position_image->y = m_y; return m_position_image; }
Mais du coup je ne peux plus appeler mon constructeur comme ça :
Piece piece_1(47,47,"img/1.bmp");
class Piece { public : // Déplacement de pieces à faire dans une autre classe qui possède les Pieces Piece(int x, int y, const std::string& image); ~Piece(); std::string get_image() const; const SDL_Rect* get_position_image() const; private : std::string _image; SDL_Rect _position_image; // Pas besoin de faire un new + delete si on peut avoir l'objet directement... }; Piece::Piece(int x, int y, const std::string& image) : _image(image) { _position_image.x = x; _position_image.y = y; } Piece::~Piece() { } std::string Piece::get_image() const { return _image; } const SDL_Rect* Piece::get_position_image() const { return &_position_image; }