const class
-
heute mach ich 'nen code:
const class { //etc.
Geht das?
-
Original erstellt von <hihi>:
Geht das?was sollte es bringen?
-
Wozu eine konstante Klasse? Mach doch besser die Methoden konstant!
class Dog
{
public:
void SetAge(int age) { itsAge = age; }
int GetAge() const { return itsAge; } //Ändert nichts, also konstant
private:
int itsAge;
};
-
@<hihi>:
Was willst du eigentlich machen???
-
hihi
const class nocheck_ {} nocheck; class x { int value; public: x (int i) : value(i) { if (value<10) throw xxx(); } x (int i, const nocheck &) : value(i) {} };
-
sollte natürlich
x (int i, const nocheck**_** &)
heißen
-
Und wo ist hier eine konstante Klasse? Genau: nirgendwo.
-
Geht das?
Natürlich geht das. Warum auch nicht?
Was sollte es bringen?
Ich dachte, du wüsstest inzwischen, warum man Variablen konstant macht. Du lässt dich zu leicht vom wesentlichen Ablenken. Nur weil const vor der Klasse steht bezieht es sich immernooch auf die Variablen, die hinter Der Klasse definiert werden.