Nous avons dit que Curstace allait avoir un nom, que nous allons mettre en attribut privé.
Voici le contenu du fichier custace.h :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#ifndef CRUSTACE_H
#define CRUSTACE_H
#include <iostream>
#include <string>
class Crustace {
public:
Crustace(const std::string & nom = "crustacé"); Crustace(const Crustace & crustace);
~Crustace();
Crustace & operator = (const Crustace & crustace);
protected:
void initCustace(const std::string & nom); std::string p_nom;
};
#endif
|
Voici le contenu du fichier custace.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
|
#include "crustace.h"
using namespace std;
Crustace::Crustace(const string & nom){
cout << "constructeur de Crustace" << endl;
this->initCustace(nom);
}
Crustace::Crustace(const Crustace & crustace){
cout << "constructeur de copie de Crustace" << endl;
this->initCustace(crustace.p_nom);
}
Crustace::~Crustace(){
cout << "destructeur de Crustace" << endl;
}
Crustace & Crustace::operator = (const Crustace & crustace){
this->initCustace(crustace.p_nom);
return *this;
}
void Crustace::initCustace(const string & nom){
p_nom = nom;
}
|
Nous allons écrire les appels aux constructeurs et au destructeur (ça servira pour la suite).
|