[résolut]question POO respect de 'encapsulation

Salut ,
voila je suis en train de me faire une lib et je me pose une question consernant l'acceseur "get"
voila la methode:

// la decaration
char* getIpWan();
//sont implementation :
char* mon_objet::getIpWan()
{
    return ipWan;//
}

le but etant de renvoyer l'adresse ip de l'objet et de l'utiliser facilement dans des "serial.print();" par exemple sans devoir faire des copie au cour de l'acce a la variable
voila pour moi il ce pose un probléme au niveau de l'encapsulation car en retournant un pointeur je peut potentielement fair des conn... sur la variable non ?

donc je voulais passer par l'ajout de "const" mais dans ce cas ça ne compile plus.

EDIT : en me lisant je me demande tout simplement si je dit pas une grosse annerie car finalement je cree un pointeur sur ipWan mais je ne renvoi pas l'adresse de ipWan[0]; j'ai du mal a reflechire aujourd'hui! :roll_eyes:

Bonjour

Où as tu ajouté const ?

j'ai tester comme ceci mai la ça plante!

// la decaration
char* getIpWan()const;
//sont implementation :
char* mon_objet::getIpWan()const
{
    return ipWan;//
}

Si la méthode est const, il faut également qu'elle retourne un const :

// la decaration
const char* getIpWan() const;
//sont implementation :
const char* mon_objet::getIpWan() const
{
    return ipWan;//
}

nickel ça marche et la au moins je suis sur de respecter l'encapsulation !
meme si la methode vu ce quelle contien ne pouvai pas modifier la variable
merci !