Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C++]Problema classe

  1. #1

    [C++]Problema classe

    codice:
    // IWindget.h
    
    #ifndef IWINDGET_H_
    #define IWINDGET_H_
    #include "Define.h"
    
    NAMESPACE_BEGIN
    
    /*
      Name: IWindget
      Author: Kleidemos
      Description: An abstract class for Windget
    */
    
    class IWindget
    {
            public:
                IWindget(){};
                virtual ~IWindget(){};
                virtual void setName(string name){};
                virtual void setLocation(int x, int y){};
                virtual void setDimension(int x, int y){};
                virtual void display(IWindget * pFrame){};
                void Add(IWindget * pFrame) const;
                void Remove(IWindget * pFrame) const;
                IWindget& operator=(const IWindget& aWindget);
                IWindget& operator+=(const IWindget& aWindget);
                IWindget& operator-=(const IWindget& aWindget);
    };
    
    NAMESPACE_END
    
    #endif // IWINDGET_H_
    
    // IWindget.cpp
    
    #include "IWindget.h"
    
    NAMESPACE_BEGIN
    /*
        Add a Form
    */
    void IWindget::Add(IWindget * pFrame) const
    {
        pFrame->display(pFrame);
    }
    
    /*
        Remove a form
    */
    void IWindget::Remove(IWindget * pFrame) const
    {
        // TODO
    }
    
    /*
        The equal operator
    */
    IWindget& IWindget::operator=(const IWindget& aWindget)
    {
        if(this == &aWindget) // Check addresses, if equal
            return *this;
        return *this;    
    }
    /*
        The addition operator
    */
    IWindget& IWindget::operator+=(const IWindget& aWindget)
    {
        aWindget.Add(&aWindget);
        return *this;    
    }
    /*
        The substraction operator
    */
    IWindget& IWindget::operator-=(const IWindget& aWindget)
    {
        return *this;    
    }
    
    NAMESPACE_END
    Ma compilandolo mi da:
    C:/Documents and Settings/Luca/Documenti/Astraz/IWindget.cpp: In member
    function `Utils::IWindget& Utils::IWindget:perator+=(const
    Utils::IWindget&)':
    C:/Documents and Settings/Luca/Documenti/Astraz/IWindget.cpp:36: invalid
    conversion from `const Utils::IWindget*' to `Utils::IWindget*'
    C:/Documents and Settings/Luca/Documenti/Astraz/IWindget.cpp:36: initializing
    argument 1 of `void Utils::IWindget::Add(Utils::IWindget*) const'

    Execution terminated

    Help meeeeeeeeeeee
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  2. #2
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    compilatore?
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


  3. #3
    dev c++
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.