Classe, constructeurs, objets[devcpp][tc][cbuilder]

Contenu du snippet

Salut tt le monde,c est ma premiere contribution a cppfrance.
J espere que ce code vous sera utile.
Ceci est un exemple simple de classe avec les caracteristiques suivantes:
Redefinition du constructeur(et valeurs par defaut), 2 methodes de creation d objets(dyn/stat),les getter/setter et fonction membre.

Source / Exemple :

#include <iostream.h>
#include <conio.h>  //#include <conio.c> pour devcpp.

class Player

{
                                
    private :                                                                                       //Declarations(caracteristiques de chaque objet)

        char statut[20+1];
        int life;
        int defense;
        int power;

    public :
                     
        Player(char *stat="Samurai", int hp=200, int def=75, int pw=100);//Redefinition du constructeur avec valeurs par defaut.
        ~Player();
        
        int GetLife();//getter(int paskel renvoie un entier)
        void SetLife(int hp);//setter
        void show();
};
                                
                                                 
//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

Player::Player(char *stat, int hp, int def, int pw) //Constructeur.

{

        strcpy(statut, stat);
        life= hp;
        defense= def;
        power= pw;

}                                       

//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz


Player::~Player()

{

cout<<"\n\nl addresse m\202moire : " << this << " a \202t\202 lib\202r\202e.";
getch();

}

//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

int Player::GetLife()//Fonction Get qui permet l acces a une donnee private de la classe Player par une 
                                                                                 //main().Sinon impossible!
{

                 return life;

}


//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

void Player::SetLife(int hp)//Fonction Set ki permet la modification d une donnee private par
                                                                                                                //main().Sinon impossible!
                                                                                                                

{
                if(hp > 0 && hp<1000)//On controle la validité de la variable.
                
                {
                
                        life = hp;
                
                }

}



//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

void Player::show()//Fontion pour afficher les objets crees.

{
    cout<<"\n- Statut :" <<statut;
    cout<<"\n- Defense :" <<defense;
    cout<<"\n- Puissance :"<<power;
}


//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz


int main()

{

    cout<<"Creation d un objet statique\n\n";
                    
                    Player kyo1;                                                                                                                                                                                                                                                                
                    kyo1.show();
                    cout<<"\n- Life :" <<kyo1.GetLife() << "\t(Utilisation de GetLife() avec l objet kyo1)\n\n";
                    getch();                                                                                                                                                                                                                        
                    
    cout<<"\n\n\n[ Creation d'un objet dynamique ]\n\n";
                    
                    Player *kyo2;                                                                                                                                                                                                                                    
                    kyo2 = new Player("Magicien", 500, 100, 200);
                    
                    
                                                                                                                                                                                                                                                                                                                                                                                    
                    kyo2->show();
                    cout<<"\n- Life :" <<kyo2->GetLife() << "\t(Utilisation de GetLife() avec l objet kyo2)\n\n";
                    getch();                                                                                         
    cout<<"\n\nUtilisation de SetLife() sur l objet kyo2\n\n";
                    
                    kyo2->SetLife(999);
                    
                    kyo2->show();
                    cout<<"\n- Life :" << kyo2->GetLife() << "\t(La propri\202t\202 Life de l objet kyo2 est modifi\202e)\n\n";
                    getch();
                    delete kyo2;                                                                                                         
                    return 0;

}
//zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

Conclusion :

Note : Le destructeur doit respecter 3 principes :1-Le destr ne contien pa d argument.
2-Il porte le nom de la classe
precédé de "~".
3-Il ne peut etre surchargé,on ne peut donc
definir kun seul destructeur par classe.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.