begin process at 2012 02 11 02:49:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Surcharge d'opérateurs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Surcharge d'opérateurs

vendredi 4 novembre 2005 à 14:26:17 | Surcharge d'opérateurs

minet03

Salut les amis,
Je voulais savoir si c'étais possible de faire des surcharge d'opérateurs sans utiliser les classes ?
C'est pour faire des calculs sur des structures.
J'ai un peu chercher sur le site mais les réponses ne sont que dans les classes, donc ce n'est pas ce que je cherche.

Merci de votre attention.

Le CyberMonde nous offre une meilleur qualité de vie [url="http://cyberman.inc.free.fr"]CyberMan.inc The WebSite[/url]
vendredi 4 novembre 2005 à 15:09:32 | Re : Surcharge d'opérateurs

luhtor

Seul les opérateurs asymétriques comme += ou autre de ce genre sont des fonctions membres. Les opérateurs comme +/-/* doivent normalement etre définie en tant que fonction à part entière et souvent déclaré friend dans la classe l'utilisant, mais tu peux définir n'importe quel opérateur comme  tu veux.

vendredi 4 novembre 2005 à 22:40:02 | Re : Surcharge d'opérateurs

Hylvenir

Bonjour,
sûr ?

les opérateurs +, -, ... ne peuvent être surcharger qui s'il y a au moins une classe sur une des opérandes. Un compilo devrait de confirmer ça.
Voila ce que dit comeau :

Comeau C/C++ 4.3.3 (Aug  6 2003 15:13:37) for ONLINE_EVALUATION_BETA1
Copyright 1988-2003 Comeau Computing. All rights reserved.
MODE:strict errors C++

"ComeauTest.c", line 1: error: nonmember operator requires a parameter with class
or enum type
int operator + ( int a, int b )
^

"ComeauTest.c", line 6: error: nonmember operator requires a parameter with class
or enum type
int operator += ( int a , int b)
^

2 errors detected in the compilation of "ComeauTest.c".



Ma participation à la saturation du net:
http://hylvenir.free.fr
samedi 5 novembre 2005 à 02:10:29 | Re : Surcharge d'opérateurs

luhtor

On ne doit pas pouvoir redéfinir un opérateur, mais juste en définir de nouveau. Par exemple, ca marche tres bien:

#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int operator + (string a, int b)
{
  return a.size() + b;
}

int main(int argc, char * arv[])
{
  int b = 4;
  string s("test");
  cout << s+b << endl;
 
  system("PAUSE");
  return 0;
}

samedi 5 novembre 2005 à 10:09:14 | Re : Surcharge d'opérateurs

Hylvenir

Puisque std::string est une classe, c'est bon.




Cette discussion est classée dans : url, classes, opérateurs, surcharge, cyberman


Répondre à ce message

Sujets en rapport avec ce message

Surcharge des Opérateurs ? [ par MichelAliasMiB ] Bonjour, Dans le cadre d'un cours de C++, je dois faire unexercice pour comprendre la surcharge des opérateurs. J'ai un bouquin qui traite du sujet, m surcharge des opérateurs [ par gmisof ] comment on peut utiliser la commande operator de vc++?gmisof surcharge d'opérateurs [ par dyroj ] Bonjour, En apprenant un cour sur le langage c++ je suis arriver au surcharge d'opérateurs. Je pence avoir compris le fonctionnement mais il y a quel surcharge operator << [ par elninodu42 ] Bonjour, Je dois trouver une solution permettant d'afficher dans un flux de chaine. Je ne peux pas utiliser de string... Je dois donc faire une surc Utilisation des classes [ par andrebernard ] Bonjour à tous Voila je viens de découvrir que les contrôles sont créés par la même classe que les fenêtres [^^peur] [code=cpp]WNDCLASS wc; wc.c wrapper des classes [ par ccinfonews ] Bonjour à la communauté je recherche une aide charitable pour wrapper quelques classes afin qu'elles soient utilisables par une Dll écrite en C merc Au sujet des styles appliquables à une fenêtre avec CreateWindow [ par lol55 ] Bonjour à tous, Je cherche quel style(s) mettre dans la fonction [i]CreateWindow[/i] pour que me fenêtre n'est pas de titre, ni de boutons en haut à Casse-tête [ par victorcoasne ] Bonjour, Sur mon site personnel, j'ai un jeu de casse-tête avec des cases à cocher : [url=http://victorc.olympe-network.com/casse-tete.html]http://vi Liaison de donnée sous Visual c++ [ par 972apprenti ] Rebonjour pour ceux qui ont déjà vu mon message sur le même sujet, je n'arrive pas a joindre une base donnée à mon projet, je pense que le version de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,073 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales