c++ polymorphisme de la surcharge d'opérateur

Comment puis-je faire fonction virtuelle pure d'un opérateur+(); fonction.
wheh ı faire comme ceci dans la classe de base
int operator+()=0;
compilateur donne une erreur .
dans dériver de la classe de l'opérateur+() la fonction
compilateur dire qui dérivent de la classe ne peut pas faire . à la suite de la classe est abstraite
Je sais que je ne peut pas créer un objet de classes abstraites, mais maintenant, j'essaie de faire dériver de la classe de l'objet.

Voici le code

#include <iostream>
using namespace std;
class ana {
    protected :
    int x;

    public :
    virtual int operator+()=0;
    virtual void operator=(ana&)=0;
    };

class baba : public ana{
    public:
    baba(int k){x=k;}
    int   operator+(baba &ali){
        int k;
        k=x+ali.x;
        return k;
    }
   void operator=(baba &ali){
       x=ali.x;
       }


    };

int main(){
    baba k(4);

    return 0;
    }
Merci de nous montrer le code.
Il est peu probable que vous avez trouvé un bon de conception impliquant des opérateurs mis en œuvre en tant que membre virtuel fonctions. Je n'ai jamais vu de telles bêtes. Que voulez-vous accomplir cela?
En plus de @sbi, les opérateurs sont à peu près seulement pour les jolies syntaxe. Si vous êtes à l'aide de virtual toutes les fonctions de votre action doit passer par des pointeurs de toute façon, de sorte que votre code sera probablement plus laid avec les opérateurs. Je soupçonne, en effet, que vous aurez à appeler explicitement operator+ comme (&myobj)->operator+(x)
Pour celui qui upvoted ce - dans quel sens est-ce une bonne question?
Butterworth: Après Troubadour posté le "code" de la "réponse" ci-dessous, je upvoted de -1 à 0. Pas sûr que ça mérite d'aller plus haut, mais je ne pense pas qu'avec cette partie résolues, il aurait mérité un score négatif. - Je m'attendre si quelqu'un n'est pas d'accord, ils voteront redescendre.

OriginalL'auteur hasan | 2010-06-03