J'ai créé une classe appelée Kwadrat
. La classe a trois int
champs. Mon Environnement de développement me suggère d'accéder aux champs de Kwadrat
des objets créés via le ::
& ->
opérateurs. J'ai essayé les deux opérateurs, et j'ai constaté que le ->
est en mesure d'accéder avec succès aux données des champs d'objets, mais il n'en va pas de même pour l'opérateur de l'UE. ->
opérateur. J'ai également constaté que le .
accédera également aux membres de la classe. Je suis confus et ne comprends pas pourquoi il y a trois membres pour accéder aux membres de l'objet et/ou aux méthodes. Quelqu'un peut-il m'expliquer quelle est la différence entre ces trois opérateurs ?
1. ->
2. ::
3. .
#include <iostream>
using namespace std;
class Kwadrat{
public:
int val1,
val2,
val3;
Kwadrat(int val1, int val2, int val3)
{
this->val1 = val1; // Working
this.val2 = val2; // Doesn't Work!
this::val3 = val3; // Doesn't Work!
}
};
int main()
{
Kwadrat* kwadrat = new Kwadrat(1,2,3);
cout<<kwadrat->val1<<endl;
cout<<kwadrat->val2<<endl;
cout<<kwadrat->val3<<endl;
return 0;
}
1 votes
Voir aussi stackoverflow.com/questions/1238613/
1 votes
@reopen-voters : d'habitude, je fustige les aveugles qui votent à la clôture, mais maintenant, cette question est vraiment est un duplicata . tout nouvel éclairage peut être ajouté à la question qu'il duplique.