Zwei gleiche Prototypen erben [geschlossen]C++

Programme in C++. Entwicklerforum
Guest
 Zwei gleiche Prototypen erben [geschlossen]

Post by Guest »

Ich erbe eine Legacy-Klasse, die ich aus technischen Gründen nicht ändern kann, und diese Legacy-Klasse erbt zweimal dieselbe Vorlage. (Ich weiß, es ist falsch formatiert als f..., aber Legacy-Code, wissen Sie)
Beachten Sie, dass „BindA“ und „BindB" sind vom Datentyp SAME.

Code: Select all

class Legacy : public Template,
public Template
{
public:
Legacy(...);

virtual ~TransformerRatioUpdater();

// inherited from Template
virtual bool set(BindA const& rData);
virtual bool get(BindA & rData) const;

// inherited from Template
virtual bool set(BindB const& rData);
virtual bool get(BindB& rData) const;

private:
...
};
Ich muss beide „get“-Methoden überschreiben, also habe ich die folgende Klasse erstellt.

Code: Select all

class MyClass: public Legacy
{
public:
MyClass(...);

bool get(BindA& rData) const override;
bool get(BindB& rData) const override;

virtual ~MyClass();

private:
typedef Legacy super;
};
Hier ist das Problem:
Ich verwende den IAR-Compiler und er schlägt aus folgenden Gründen fehl Fehler:

Code: Select all

bool get(BindA& rData) const override;
^
"MyClass.hpp",31  Warning[Pe997]: function "Template::get(T &) const [with T=BindA]" is hidden by "MyClass::get" -- virtual function override intended?

bool get(BindB& rData) const override;
^
"MyClass.hpp",32  Warning[Pe997]: function "Template::get(T &) const [with T=BindB]" is hidden by "MyClass::get" -- virtual function override intended?
Ist es möglich, dieses Erbe zu verwalten?
Ich habe Zweifel.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post