Nous allons créer une autre classe héritant de Crustace, la classe Langouste. Cette classe aura une particularité en plus de parler allemand, elle aura un age (on fait ce qu'on peut).
Voici le fichier langouste.h :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#ifndef LANGOUSTE_H
#define LANGOUSTE_H
#include "crustace.h"
class Langouste : public Crustace{
public:
Langouste(const std::string & nom = "langouste", int age = 0);
Langouste(const Langouste & langouste);
virtual ~Langouste();
void parler();
Langouste & operator = (const Langouste & langouste);
private:
void initLangouste(int age);
int p_age;
};
#endif
|
Voici le fichier langouste.cpp :
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
|
#include "langouste.h"
using namespace std;
Langouste::Langouste(const std::string & nom, int age)
:Crustace(nom)
{
cout << "constructeur de Langouste" << endl;
initLangouste(age);
}
Langouste::Langouste(const Langouste & langouste)
:Crustace(langouste)
{
cout << "constructeur de copie de Langouste" << endl;
initLangouste(langouste.p_age);
}
Langouste::~Langouste(){
cout << "destructeur de Langouste" << endl;
}
void Langouste::parler(){
cout << "ich Aufruf " << p_nom << " haben Sie " << p_age << " Jahre." << endl;
}
Langouste & Langouste::operator = (const Langouste & langouste){
initCustace(langouste.p_nom);
initLangouste(langouste.p_age);
return *this;
}
void Langouste::initLangouste(int age){
p_age = age;
}
|
Et voilà la classe Langouste.
|