struct A {
protected:
int y;
public:
int z;
};
struct F : A {
public:
using A::y;
private:
using A::z;
};
int main() {
F obj_F;
obj_F.y = 9;
obj_F.z = 10;
}
Source: http://publib.boulder.ibm.com/infocenter/comphelp/v7v91/index.jsp?topic=/com.ibm.vacpp7a.doc/language/ref/clrc14cplr135.htmAccès membres dans Hiérarchie d'héritage - C++
Dans le code ci-dessus obj_F.z = 10; - est autorisé. Explication: L'accès du membre z est toujours public. La déclaration privée utilisant A :: z n'a aucun effet sur l'accès de z.
Quelqu'un peut-il me dire, si z, qui est déclaré comme privé, est accessible à l'extérieur, alors quelle est la signification de ce privé? Qu'est ce que ça fait?
Merci
-Saiyasodharan
erreur C2248: 'F :: z': impossible d'accéder au membre privé déclaré dans la classe 'F' – bjskishore123
En g ++: * erreur: 'int A :: z' est inaccessible * –
a obtenu la même erreur dans VC++ 10 .. bien que ce soit correct selon les standards, il est incorrect dans MS VC++ il semble – saiy2k