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

Résolu
parissain Messages postés 129 Date d'inscription   Statut Membre -  
parissain Messages postés 129 Date d'inscription   Statut Membre -
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
Configuration: Windows XP
Firefox 1.5.0.12

2 réponses

  1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  2. parissain Messages postés 129 Date d'inscription   Statut Membre 2
     
    ahhhhhhhhhhhhh

    C trés clair,

    Jte remercie infiniment,

    Bon week et a la prochaine

    Best Regards :)
    0