A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Struct slink { slink* next; slink() { next=0; } slink(slink* p) { next=p; } virtual void print_me() = 0; }; next função virtual pura 1º constructor 2º

Apresentações semelhantes


Apresentação em tema: "Struct slink { slink* next; slink() { next=0; } slink(slink* p) { next=p; } virtual void print_me() = 0; }; next função virtual pura 1º constructor 2º"— Transcrição da apresentação:

1 struct slink { slink* next; slink() { next=0; } slink(slink* p) { next=p; } virtual void print_me() = 0; }; next função virtual pura 1º constructor 2º constructor slink sl; next = 0 não existe slink sl1(p); next = p slink sl; slink sl1(&sl); next = 0 não existe sl sl1 sl sl1 next = &sl next

2 class slist_base { slink* last;// last->next é a cabeça da lista public: slink* ret(); void insert(slink* a);// incluir na cabeça da lista slist_base(){ last = 0;} slist_base(slink* a) { last = a->next = a;} }; struct slink { slink* next; slink() { next=0; } slink(slink* p) { next=p; } virtual void print_me() = 0; }; next slist_base sb; next sl slink sl; sb insert(&sl); next sl

3 class slist_base { slink* last;// last->next é a cabeça da lista int number; public: slink* ret(); void insert(slink* a);// incluir na cabeça da lista slist_base(){ last = 0; number = 0; } slist_base(slink* a) { last = a->next = a; number = 1; } }; struct slink { slink* next; slink() { next=0; } slink(slink* p) { next=p; } virtual void print_me() = 0; }; class person : public slink {int idade; char *nome; public: person(int i, char* n){ idade = i; nome = new char[10]; strcpy(nome,n); } virtual ~person(){ delete [] nome; } void print_me() { cout << "idade - " << idade << "; nome - " << nome << endl; } }; class aluno : public person {long turma; public: aluno(int i, char* n, long t) : turma(t), person(i,n) {} virtual ~aluno() {} void print_me() { cout << "turma - " << turma << "; "; person::print_me(); } };

4 int main(int argc, char* argv[]) {slink* terminate; person p(25, "Paulo"), p1(21, "Ana"); aluno p2(22, "Nuno", 12345678); slist_base sb; sb.insert(&p); sb.insert(&p1); sb.insert(&p2); while ((terminate = sb.ret()) != 0) terminate->print_me(); return 0; }

5 class slist_base { slink* last;// last->next é a cabeça da lista int number; public: slink* ret(); void insert(slink* a);// incluir na cabeça da lista slist_base(){ last = 0; number = 0; } slist_base(slink* a) { last = a->next = a; number = 1; } }; struct slink { slink* next; slink() { next=0; } slink(slink* p) { next=p; } virtual void print_me() = 0; }; class person : public slink {int idade; char *nome; public: person(int i, char* n){ idade = i; nome = new char[10]; strcpy(nome,n); } virtual ~person(){ delete [] nome; } void print_me() { cout << "idade - " << idade << "; nome - " << nome << endl; } }; class aluno : public person {long turma; public: aluno(int i, char* n, long t) : turma(t), person(i,n) {} virtual ~aluno() {} void print_me() { cout << "turma - " << turma << "; "; person::print_me(); } }; trabalhador

6 class trabalhador : public person {int salario; public: trabalhador(int i, char *n, int s) : salario(s), person(i,n) {} virtual ~trabalhador() {}; void print_me() { cout << "salario - " << salario << "; "; person::print_me(); } }; int main(int argc, char* argv[]) {slink* terminate; person p(25, "Paulo"), p1(21, "Ana"); aluno p2(22, "Nuno", 12345678); trabalhador p3(30, "Ricardo", 1000); slist_base sb; sb.insert(&p); sb.insert(&p1); sb.insert(&p2); sb.insert(&p3); while ((terminate = sb.ret()) != 0) terminate->print_me(); return 0; }


Carregar ppt "Struct slink { slink* next; slink() { next=0; } slink(slink* p) { next=p; } virtual void print_me() = 0; }; next função virtual pura 1º constructor 2º"

Apresentações semelhantes


Anúncios Google