Normalerweise haben wir eine Variable für eine C++ Struktur definieren kann, wie inFunktion für C++ struct
struct foo {
int bar;
};
Können wir auch für eine Struktur Funktionen definieren? Wie würden wir diese Funktionen nutzen?
Normalerweise haben wir eine Variable für eine C++ Struktur definieren kann, wie inFunktion für C++ struct
struct foo {
int bar;
};
Können wir auch für eine Struktur Funktionen definieren? Wie würden wir diese Funktionen nutzen?
Ja, ein struct
ist identisch mit einem class
mit Ausnahme der Standardzugriffsebene (teil weise und vererbungstechnisch). (und die zusätzliche Bedeutung class
trägt bei Verwendung mit einer Vorlage)
Jede Funktionalität, die von einer Klasse unterstützt wird, wird folglich von einer Struktur unterstützt. Sie würden Methoden genauso verwenden, wie Sie sie für eine Klasse verwenden würden.
struct foo {
int bar;
foo() : bar(3) {} //look, a constructor
int getBar()
{
return bar;
}
};
foo f;
int y = f.getBar(); // y is 3
Strukturen können Funktionen wie Klassen haben. Der einzige Unterschied ist, dass sie standardmäßig öffentlich sind:
struct A {
void f() {}
};
Darüber hinaus können Strukturen auch Konstruktoren und Destruktoren haben.
struct A {
A() : x(5) {}
~A() {}
private: int x;
};
Ja. Genauso wie für eine Klasse in C++ – DumbCoder