Ich machte die Klasse Kopf und Klasse Abgeleitet von der Klasse Head. Was sollte ich tun, um eine statische Variable (wie einen Zähler des Objekts der Klasse Head) zu haben, die in der abgeleiteten Klasse nicht erhöht wird?Die statische Variable in der abgeleiteten Klasse wurde nicht inkrementiert
In Kopfklasse:
class Head{
private:
static int counter;
string name;
int amount;
public:
Head(const string& n):name(n){
counter++;
}
};
int Head::counter=0;
und in der Klasse Derived:
class Derived: public Head{
public:
Derived(const string& n):Head(n){};
};
Mein Ziel ist Zähler nicht erhöht werden, wenn ich neues Objekt der Klasse Derived erstellen. Was soll ich verwenden? Virtuelle Klasse, kann mir jemand erklären, wie ich dieses Problem lösen kann?
Es ist nicht wirklich klar, möchten Sie vielleicht den Zähler nicht erhöhen, wenn Sie ein Objekt der Klasse Abgeleitet erstellen? (Sie haben Kopf im Text geschrieben) – user463035818
Warum wollen Sie dieses Verhalten? Wenn ein Objekt von Derived erstellt wird, erstellen Sie tatsächlich auch ein Objekt der Klasse Head (als Teil des Derived-Objekts). – user463035818
yup, ich möchte Zähler nicht inkrementieren, wenn ich Objekt der abgeleiteten Klasse creade, sorry – masterq007