[C++]Liste d'initialisation

Fermé
Sandra - 6 mars 2007 à 12:40
benkeeper Messages postés 81 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 26 janvier 2008 - 6 mars 2007 à 14:53
Hello,

J'ai 2 fichiers Animal.cc et Animal.hh :
#ifndef ANIMAL_HH
#define ANIMAL_HH

class Animal{
private:
  int poids;
  int age;
  
public:
  Animal(int poids, int age);
  ~Animal();
  int getPoids();
  int getAge();
  void affichage();
};

#endif




#include <iostream>
using namespace std;

#include "Animal.hh"

Animal::Animal(int poids, int age){
  this->poids = poids;
  this->age = age;
}

Animal::~Animal(){}

int Animal::getPoids(){
  return poids;
}

int Animal::getAge(){
  return age;
}

void Animal::affichage(){
 cout << "Poids = " << getPoids() << "\nAge = " << getAge() << endl; 
}

int main(){
  Animal anim(50, 2);
  anim.affichage();
  return 0;
}

Je souhaite créer un constructeur par défaut pour un animal
Comment faut-il faire ?
Comment est-ce qu'il doit être écrit dans le fichier .hh

Merci

1 réponse

benkeeper Messages postés 81 Date d'inscription samedi 4 septembre 2004 Statut Membre Dernière intervention 26 janvier 2008 45
6 mars 2007 à 14:53
Tout simplement comme ça :

Animal(); (dans le .hh)

et définit dans le .cc :

Animal()
{
//ce qui est fait par défaut
}


C'est de la surcharge en fait. Si tu crées ton objet en lui passant les paramètre age et poids il utilise le constructeur correspondant, si tu ne lui précise rien il utilise le constructeur par défaut.


Ben :)
0