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

Résolu
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. ahhhhhhhhhhhhh

    C trés clair,

    Jte remercie infiniment,

    Bon week et a la prochaine

    Best Regards :)
    0
    1. Contributeur
      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