bonjour, je débute en C++ et je ne comprend pas l'erreur (s'il y en a une) suivante:
je crée une classe mère:
Puis la classe fille:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include <iostream> #include <string> using namespace std; class oiseau { protected: string id; double nbKm; double vit; public: oiseau(string i="aa",double nb=0,double v=1.5); void changeId(string s); void affiche(); void vole(int nbSec); }; oiseau::oiseau(string i,double nb,double v):id(i),nbKm(nb),vit(v){}
et le compilateur me dit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class migrateur : public oiseau{ private: oiseau oi; string pays; public: migrateur(double nb=1000,string p="france"); void affiche(); }; migrateur::migrateur(double nb,string p):pays(p){ oi.nbKm=nb;}
`double oiseau::nbKm' is protected
c'est vrai, mais les données protégées sont censés être accessible par toutes les classes filles, non?
Comment faire sinon?
(je veut juste créer un constructeur qui prend 2 paramètres servant a initialiser les valeurs nbKm et pays, ayant respectivement les valeurs par défaut 1000 et "france").
merci d'avance!!
Partager