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

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

C trés clair,

Jte remercie infiniment,

Bon week et a la prochaine

Best Regards :)
0