Neudefinition der Klasse Funktion Fehler C++

Habe ich meine base-Klasse Tor, während die abgeleitete Klasse ist UND (XOR usw.). Die virtuelle Funktion habe ich in meine Basis-Klasse ist für die Bestimmung einer Leistung, aber wenn ich den Prototyp in die UND.h und versuchen Sie, und implementieren Sie es mit AND.cpp ich bekomme die Neudefinition Fehler auf kompilieren. Ich bin mir sicher ich habe alles richtig.

Tor header

#ifndef GATE_H
#define GATE_H

class Gate{
    public:
        //various functions etc.

        virtual bool output();   //**PROBLEM FUNCTION**

};

#endif

Gate-source -

#include "Gate.h"

//*various function declarations but not virtual declaration*

Abgeleitete Klasse "UND"

#ifndef AND_H_INCLUDED
#define AND_H_INCLUDED

class AND: public Gate{
public:
    bool output(bool A, bool B){}
};
#endif //AND_H_INCLUDED

haben und wo meine IDE bringt meine Fehler auftreten, die in der UND.h-Datei

#include "AND.h"

bool AND::output(bool A, bool B){
    if (A && B == true){
        Out = true;
    } else {
        Out = false;
    }

    return Out;
}

In diesem Fall ist eine vererbte variable.

  • Ihre AND header werden sollten, einschließlich der einen, die es braucht, um zu kompilieren.
  • Soweit ich bin besorgt, Sie können nicht erklären, eine Funktion ohne Argumente und definieren Sie Sie neu, mit Argumenten.
  • In diesem Fall wird er beschattet werden.
  • Um ehrlich zu sein, ich würde machen, dass output Funktion nur return Out = A && B;.
  • stimmt, danke für den Hinweis. Aber es scheint nicht das zu sein, was der OP will ja sowieso.
InformationsquelleAutor user3344556 | 2014-02-23
Schreibe einen Kommentar