//VK Από Βάτσου Χριστίνα //VK για το σχολιό σου στο τέλος...όπως σας είπα και στο εργαστήριο //VK Η διαγραφή της µνήµης δεν διαγράφει τον δείκτη που δείχνει σε αυτή //VK ούτε αλλάζει την τιµή της διεύθυνσης του δείκτη //VK έτσι η διεύθυνση παύει να είναι έγκυρη. //VK να βάλεις και µηνύµατα στους δοµητές για να δεις //VK πως γίνεται η δηµιουργία... #include <iostream> #include <stdlib.h> using namespace std; class Animal string itsname; int itsage; Animal() Animal(string n,int a) itsname=n; itsage=a; ; class Horse: virtual public Animal double itsheight; Horse() Horse(double h,string c,string n,int a):animal(n,a) itsheight=h; void fonialogou() cout<<"xlimintrisma"<<endl; ; class Bird: virtual public Animal bool itsmigration; Bird() Bird(bool m,string c,string n,int a):animal(n,a) itsmigration=m; void fonipouliou() cout<<"titivisma"<<endl; ; class Pegasus: public Horse, public Bird int itsbelievers;
Pegasus() Pegasus(int b,double h,string c,bool m,string n,int a):horse(h,c,n,a),bird(m,c,n,a),animal(n,a) itsbelievers=b; void foni() cout<<"xlimintrotitivisma"<<endl; ; int main(int argc, char *argv[]) Pegasus*p=new Pegasus(5,15,"pink",true,"babis",20);//dimiourgia antikeimenou p->foni();//klisi methodou p->fonipouliou(); p->fonialogou(); delete p;//diagrafi tou pointer tou antikeimenou p,etsi den pauei na iparxei to antikeimeno efoson //den antikatastathoun oi times tou apo allo antikeimeno system("pause"); return 0;
//VK Από Πούνιου Ελένη //VK Ισχύουν τα ίδια σχόλια που έβαλα και στην Χριστίνα #include <iostream> #include <cstdlib> using namespace std; //klasi goneas class Animal string itsname; int itsage; ; Animal(string n,int a) itsname=n; itsage=a; //klironomikotita class Horse:virtual public Animal int itsheight; ; Horse(string n,int a,int h,string c):animal(n,a) itsheight=h; void gkarisma() cout<<"xlimintrisma,la La..."<<endl; class Bird:virtual public Animal bool itsmigration; Bird(string n,int a,bool m,string c):animal(n,a) itsmigration=m; void kelaidima()
; cout<<"tsiou Tsiou,Tout Tout..."<<endl; class Pegasus: public Bird, public Horse int itsbelievers; Pegasus(int b,int h,string c,bool m,string n,int a):horse(n,a,h,c),bird(n,a,m,c),animal(n,a) itsbelievers=b; ; int main(int argc,char *argv[]) Pegasus*p=new Pegasus(13,10,"red",true,"sougias",25);//dimiourgia antikeimenou p->gkarisma(); //klisi methodou p->kelaidima(); //klisi methodou delete p; //apodesmeusi mnimis tou pointer p(pegasus) kai efoson den bazoume alles times synexizoun na yparxoun oi proigoumenes times alla diagrafoume to antikeimeno system("pause"); return 0;
//VK Από Αντώνιο Αντωνιάδη - 15 ANIMALS #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; // sth dhmiourgia antikeimenou trexei o constructor ths super? //VK ηµιουργείται πάντα πρώτα ο γονιός και µετά το παιδί //VK κάτω από ορισµένες συνθήκες, εαν το παιδί δεν έχει δοµητή //VK θα χρησιµοποιήσει του γονιού. //VK για τις πιο σύνθετες συναρτήσεις δόµησης της βασικής κλάσης, //VK θα πρέπει να γραφτούν συναρτήσεις της παράγωγης. //VK αλλά γενικότερα έχε στο νου, το ότι το παιδί πρέπει να ορίζει τον πατέρα του! class Animal // protected?: //VK αν τα βάλεις, τότε τα βλέπει και η παράγωγος κλάση string itsname; int itsage; Animal(string N, int A) cout << "Animal Created -> "; itsname=n; itsage=a; ~Animal()cout << "~Animal --> bye-bye!" << endl; string get_itsname() return itsname; ; int get_itsage() return itsage; class Horse : virtual public Animal double itsheight; Horse(string N, int A, double H, string C) : Animal(N, A) cout << "Horse Created -> "; itsheight=h; itscolor=c; double get_itsheight() return itsheight; string get_itscolor() return itscolor;
; class Bird : virtual public Animal bool itsmigration; Bird(string N, int A, bool M, string C) : Animal(N, A) cout << "Bird Created -> "; itsmigration=m; itscolor=c; ; bool get_itsmigration() return itsmigration; string get_itscolor() return itscolor; class Pegasus : public Horse, public Bird int itsbelievers; Pegasus(string N, int A, double H, bool M, string C, int B) : Animal (N, A), Horse(N, A, H, C), Bird(N, A, M, C) cout << "Pegasus Created"; cout << endl; itsbelievers=b; ; int get_itsbelievers() return itsbelievers; int main(int argc, char *argv[]) cout << endl; Pegasus PegObj1("MyName",20,30,true,"Hello!",50); cout << endl << endl; cout << "PegObj1 Age: " << PegObj1.get_itsAge() << endl <<endl << endl << endl; Pegasus* PegObj2 = new Pegasus("MyName2",25,37,false,"Hey!",52); cout << endl << endl; cout << "PegObj2 Age: " << PegObj2->get_itsAge() << endl<<endl; delete PegObj2; cout << "PegObj2 deleted" << endl<< endl << endl << endl << endl << endl; system("pause"); return EXIT_SUCCESS;