1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
#include <iostream>
#include <ostream>
#include <stdlib.h>
#include <typeinfo>
#include <vector>
#include <string>
using namespace std;
class Immeuble{
protected:
int annee_construction;
string description_etat;
string adresse;
int i;
public:
Immeuble(int annee, string descript, string add, int ii);
virtual int ajout_contenu(int a)=0;
int getI();
~Immeuble(void);
};
Immeuble::Immeuble(int annee, string descript, string add, int ii){
annee_construction=annee;
description_etat=descript;
adresse=add;
i=ii;
}
Immeuble::~Immeuble(void){
}
int Immeuble::ajout_contenu(int a){
}
int Immeuble::getI(){
return i;
}
class Industriel:public Immeuble{
public:
int ajout_contenu(int a);
Industriel(int annee, string descript, string add, int ii);
};
Industriel::Industriel(int annee, string descript, string add, int ii):Immeuble(annee, descript, add, ii){
}
int Industriel::ajout_contenu(int a){
i+=a;
}
////////////////////////////////////////////////////////:
class Immeuble_de_logement:public Immeuble{
public:
int ajout_contenu(int a);
Immeuble_de_logement(int annee, string descript, string add, int ii);
};
Immeuble_de_logement::Immeuble_de_logement(int annee, string descript, string add, int ii) : Immeuble(annee, descript, add, ii){
}
int Immeuble_de_logement::ajout_contenu(int a){
i+=a;
}
class Immeuble_de_bureau:public Immeuble{
public:
int ajout_contenu(int a);
Immeuble_de_bureau(int annee, string descript, string add, int ii);
};
Immeuble_de_bureau::Immeuble_de_bureau(int annee, string descript, string add, int ii) : Immeuble(annee, descript, add, ii){
}
int Immeuble_de_bureau::ajout_contenu(int a){
i+=a;
}
class Mixte:public Immeuble_de_logement, public Immeuble_de_bureau{
public:
int ajout_contenu1(int a);
Mixte(int annee, string descript, string add, int ii);
};
Mixte::Mixte(int annee, string descript, string add, int ii):Immeuble_de_logement(annee, descript, add, ii),Immeuble_de_bureau(annee, descript, add, ii){
}
int Mixte::ajout_contenu1(int a){
Immeuble_de_logement::ajout_contenu(a);
}
int main (){
cout << "\nTest:\nCreation Mixte\n";
string *des=new string;
string *ad=new string;
int ann;
cout << "\nAnnee: ";
cin >> ann;
cout << "\nDescription: ";
cin >> *des;
cout << "\nAdresse: ";
cin >> *ad;
Mixte *m = new Mixte(ann,*des,*ad,0);
cout << "\nVerification:\n\tI: " << m->getI();
return 0;
} |
Partager