Header file :
Code
#ifndef SPRITE_H
#define SPRITE_H
#include "Image.h"
class Sprite
{
private:
Image image;
int x;
int y;
public:
Sprite(const Image img, const int x = 0, const int y = 0);
...
int getX(){return x;}
int getY(){return y;}
};
#endif
Class file :
Code
#include "Sprite.h"
#include "Image.h"
Sprite::Sprite(Image img, int x, int y) : image(img), x(x), y(y)
{
}
this is what I do
Code
Sprite* sprite = new Sprite(new Image());
int pointerX = sprite -> getX();
Sprite other = Sprite(new Image());
int valueX = sprite.getX();
Now pointerX is 0 as I expected.
But valueX is some large negative integer.
I really do not understand why this is.
I'm quite new to C++ and I would appreciate any help.