Ich habe ein Problem mit einigen geerbten Klassen und deren Basisklasse.Ändern der Basisklasse in C++
Zum Beispiel:
base class{
int x,y; // Doesnt really matter
int counter;
public:
class(int x, int y):x(x), y(y), counter(1){}
void add_counter(){counter++;}
//stuff
virtual ~base(){}
}
class1:public base{
public:
class1():base(1,2){}
}
Jeder meiner geerbten Klassen (die ich ein paar haben) sie alle passieren die x, y voneinander verschieden. Und dann möchte ich diesen Zähler erhöhen, wenn ich ihn anrufe.
Das Problem, mit dem ich konfrontiert bin, ist, dass der Zähler NUR auf dieser Iteration erhöht. Kein Objekt wird neu erstellt (weil ich debuggte). Wenn ich den add_counter für die Klasse1 aufrufe, wird es von 1 auf 2 erhöht, aber wenn ich es noch einmal anrufe, wird es gleich sein (1 zu 2).
Was fehlt mir hier?
Vielen Dank.
Können Sie bitte eine [MCVE] des Codes erstellen Sie mit ein Problem haben? – NathanOliver
Überprüfen Sie, wie eine Klasse definiert ist: Es ist nicht 'Basisklasse {..}', sondern 'Klassenbasis {...}'. Und wenn 'Derived' von' base' abgeleitet ist, dann 'class Derived: public base {...}'. – Ripi2