Ich bin nicht ganz klar diesen CodeKlasse und struct Verschachtelung
Außen ist ein class
und die innere ein struct
, kann mir das erklären jemand helfen?
class Stack {
struct Link {
void* data;
Link* next;
Link(void* dat, Link* nxt):
data(dat),next(nxt) {}
}* head;
public:
Stack():head(0) {}
~Stack() {
require(head==0,"Stack not empty");
}
void push(void* dat) {
head = new Link(dat, head);
}
void peek() const {
return head ? head->data : 0;
}
void* pop() {
if(head == 0) return 0;
void* result = head->data;
Link* oldHead = head;
head = head->next;
delete oldHead;
return result;
}
};
meine Frage ist auf den ersten Zeilen konzentrieren
class Stack {
struct Link {
void* data;
Link* next;
Link(void* dat, Link* nxt):
data(dat),next(nxt) {}
}* head;
, was die Beziehung zwischen class Stack
und struct Link
?
Der Unterschied zwischen 'class' &' struct' ist auch im Falle von Vererbung von Bedeutung.Inheritance ist 'private' standardmäßig bei Klassen, während es bei Strukturen 'public' ist. –
@Als ist das nicht ein Nebeneffekt der Zugriffsebene innerhalb der Klasse? –
* [Seiteneffekt] (http://en.wikipedia.org/wiki/Side_effect_ (computer_science)) *? Warum? Wie? –