OVH Cloud OVH Cloud

notion de base(instanciation.......)

1 réponse
Avatar
azdinerif
bonjour ;
je suis debutant en c++ je travaille sur un petit exercice ,il s'git d'un
contrat dont on connait
le num,le montant de la prime la date d'echeance,et le nom de client
on l'instancie comme par ex c(kc2222,"23/01/2003/,"david"),cc("ra4525"),
nouvc(cc);
comment je vais afficher les contrats d une maniere conventiennelle?
etles comparer sur base de leur prime?

moi jai commencer comme ça:
# include <iostream.h>
# include <sring.h>

class contrat
{
private:
char numcontrat;
float prime;
char date;
char *nom;
public:
contrat();
~contrat();
void affiche_contrat();

}

void main(void)
{
contrat c(kc2222,"23/01/2003/,"david"),cc("ra4525"),
nouvc(cc);
}

merci de me repondre.Et de si j ai bien commencer ou non.

1 réponse

Avatar
Benoit Rousseau
azdinerif wrote:
bonjour ;

comment je vais afficher les contrats d une maniere conventiennelle?
etles comparer sur base de leur prime?

moi jai commencer comme ça:
# include <iostream.h>
# include <sring.h>



Un bon bouquin/cours te ferait du bien :-)

Je reponds plus pour le style de ta programmation que pour ta question
en elle même. Le mieux serait de voir du côté de la FAQ :
http://www.cmla.ens-cachan.fr/Utilisateurs/dosreis/C++/FAQ/
au chapitre 27 : entrée/sortie

Normalement, en C++, on n'a pas besoin de spécifier les .h ; si ton
compilateur est conforme à la norme


#include <iostream> //bibliothèques d'entrée/sortie
#include <string> //Les chaines de caractères dont tu ne te sers pas

class contrat {
protected: //Si tu comptes faire de l'héritage, c'est souvent mieux
std::string numcontrat;
std::string date; //Il doit y avoir des types mieux que string
std::string nom;
float prime;
public:
contrat();
contrat( const std::string& s ); //constructeur pour cc dans ton ex
//Ne pas oublier les autres constructeurs

//Spécifier que l'afficheur peut acceder aux données membres
friend std::ostream& operator<<( std::ostream&, const contrat&);
};

//Sortie formatée du contrat c vers un flux de sortie oss
std::ostream& operator<<(std::ostream& oss, const contrat& c) {
oss << c.numcontrat << " : " << date << " " << nom ;
return oss;
}

int main() {
contrat c( "kc2222", "23/01/2003", "david", 2000.0 );
std::cout << c << std::endl; //Sortie vers cout : la sortie standard
}

std::cout est le flux de sortie standard. Il appelera automatiquement la
fonction ostream& operator<<(ostream&, const contrat&)

Pour t'affranchir des std:: , tu peux utiliser
using namespace std;


class contrat
{
private:
char numcontrat;
float prime;
char date;
char *nom;
public:
contrat();
~contrat();
void affiche_contrat();

}

void main(void)
{
contrat c(kc2222,"23/01/2003/,"david"),cc("ra4525"),
nouvc(cc);
}

merci de me repondre.Et de si j ai bien commencer ou non.






--
--------------------------------------------
Benoît Rousseau : roussebe at spray dot se
Jouez en programmant : http://realtimebattle.sourceforge.net/