[C++] Que veulent dire les ":" ?

Résolu/Fermé
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 - 27 juil. 2007 à 14:18
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 - 27 juil. 2007 à 16:38
Bonjour,

jessaye de comprendre un code C++, mais j'arrive pas a compredre le role des deux point ":"

qlqun pourrait mexpliquer cette ligne de code SVP et surtout les ":"

CANopen_Service(CANopenService a_service = CANopen_Emergency)
: m_service(a_service){}


voila le reste du code :

class CANopen_Service
{
public:

CANopen_Service(CANopenService a_service = CANopen_Emergency)
: m_service(a_service){}

virtual ~CANopen_Service(){};
operator EC_USINT() const { return m_service; }

private:
CANopenService m_service;
};


merci d'avance

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
27 juil. 2007 à 14:33
Salut

Le rôle du ":" dans ce cas permet l'initialisation de ton attribut.
Je m'explique

CANopen_Service(CANopenService a_service = CANopen_Emergency) 
: m_service(a_service){} 


est l'équivalent de :

CANopen_Service(CANopenService a_service = CANopen_Emergency) {
    m_service = a_service;

} 


Généralement, en C++, la première écriture est privilégiée, ça fait plus C++ ;)

Cordialement
0
parissain Messages postés 129 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 24 août 2007 2
27 juil. 2007 à 16:38
ahhhhhhhhhhhhh

C trés clair,

Jte remercie infiniment,

Bon week et a la prochaine

Best Regards :)
0