CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

C++ : pb opérateurs '::' '.' et 'Flèche'

Gid
Gid
Niveau 4
01 février 2003 à 17:29:43

je ne vois pas la différence entre l´opérateur de résolution de portée ´::´ et l´opérateur ´.´ ( dont je ne connait pas le nom).

en supposant que "classe" est une classe et que "instance" est une instance de cette classe, est-ce que "classe.instance" revient à la même chose que "classe::instance" ?

j´ai aussi une question concernant l´opérateur flèche ´->´ : est-ce qu´il faut mettre l´astérisque devant le nom du pointeur ou pas ?

soit "*pclasse" un pointeur qui pointe sur une classe "classe", cette dernière contenant une instance "instance", est-ce qu´il faut écrire "pclasse->instance" ou "*pclasse->instance" ?

merci de me répondre.

arnaud81
arnaud81
Niveau 7
01 février 2003 à 17:54:20

pour ce qui est le l´operateur .
Pour designer un element dans ta classe :
exemple:
maclasse.variable = 0;
maclasse.fonctioncarre(22);

---------------------------------------------
pour ce qui est le l´operateur ->

Ca sert uniquement sur les pointeurs :
ppointeur->mavariable=0;

Si tu fais *ppointeur, tu cibles l´objet pointe a ladresse pppointeur, donc il est possible de faire :
( *ppointeur).mavariable=0;
C est strictement identique, mais lecriture avec -> est plus simple.

dans le cas de *ppointeur->instance, c different:
si tu fais ( *ppointeur)->instance : on suppose que ppointeur est un pointeur(a) qui pointe sur un autre pointeur(b)... de la, on accede a lelement instance de ( b).

si tu fais *(ppointeur->instance) : on va supposer que ppointeur est un pointeur, on recupere instance, element de ppointeur, et qui est utilise en tant que pointeur

---------------------------------------
tu ecris "*pclasse" est un pointeur... attention :
ca veut dire que pclasse est un pointeur parce qu il est utilise avec une etoile et que la valeur pointe par pclasse est un pointeur qui cible ta classe ( pointeur sur un pointeur sur une classe, c possible) donc pour repondre a ta question cf + haut

Jespere que jai ete clair ; -)

arnaud81
arnaud81
Niveau 7
01 février 2003 à 17:54:50

C est sur que manipuler les pointeurs demande un peu de gymmnastique cerebrale ; )

-Q-
-Q-
Niveau 6
01 février 2003 à 18:36:05

mais tellement pratique ces pointeurs ( polymorphimse quand tu nous tiens)

Gid
Gid
Niveau 4
01 février 2003 à 19:25:18

merci

mais je ne sais toujours pas qulle est la différence entre ´::´ et ´.´

megaZE
megaZE
Niveau 4
01 février 2003 à 19:42:16

soit une classe :
class CClasse
{ short truc;
public:
AfficherCoucou(); //"coucou" sur la console
AfficherTruc(); //valeur de "truc"
}

AfficherCoucou() peut etre utilisée n´importe quand sans avoir instancier la classe CClasse grace à "CClasse::AfficherCoucou()" mais utiliser "AfficherTruc" de la mm facon n´est pas trop recommandé ( vu que "truc" n´existe pas . ..)
Par contre on se sert de "." une fois que l´on a une instance d´une classe
EX:
CClasse objet;
objet.AfficherTruc(); /*la propriete "truc" de "objet" existe donc pas de P ( biensur il faut que "truc" soit initialisé*/
objet.AfficherCoucou(); //là pas de souci

@+
Ze

Gid
Gid
Niveau 4
01 février 2003 à 23:05:06

merci beaucoup de m´avoir éclairer : )

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment