Diamant Problem - Virtuelle Ableitung
Verfasst: Sa Aug 02, 2014 12:26 pm
Hallo,
ich wurschtle mich gerade durch das Tutorial zum Diamant Problem und dem Lösungsansatz Virtuelle Ableitung. http://www.proggen.org/doku.php?id=cpp: ... ce:virtual Jetzt habe ich das Problem das ich sämtlichen Code aus dem Tutorial habe, zum Schluss jetzt sogar einfach Copy & Paste, um sicher zu gehen das ich nicht irgendwas ganz dumm übersehe, aber trotzdem bekomme ich immer die selbe Fehlermeldung meines Compilers.
ich wurschtle mich gerade durch das Tutorial zum Diamant Problem und dem Lösungsansatz Virtuelle Ableitung. http://www.proggen.org/doku.php?id=cpp: ... ce:virtual Jetzt habe ich das Problem das ich sämtlichen Code aus dem Tutorial habe, zum Schluss jetzt sogar einfach Copy & Paste, um sicher zu gehen das ich nicht irgendwas ganz dumm übersehe, aber trotzdem bekomme ich immer die selbe Fehlermeldung meines Compilers.
Hier mal mein kompletter Code, ist einfach der aus dem Tutorial. Bin da ein wenig Ratlos und weiss nicht ganz was ich tun muss, um das ganze ans laufen zu bekommen?Constructor for 'BluRayFullHDTelevision' must explicitly initialize the base class 'PowerConsumer' which does not have a default constructor
Code: Alles auswählen
#include <iostream>
class Display
{
public:
int ResolutionX;
int ResolutionY;
double GetMegaPixel()
{
return double(ResolutionX * ResolutionY) / 1000000.0;
}
Display( int x, int y )
: ResolutionX( x )
, ResolutionY( y )
{}
};
class PowerConsumer
{
public:
int MinimalWatts;
int MaximalWatts;
inline int GetAverageConsumption()
{
return (MinimalWatts + MaximalWatts) / 2;
}
PowerConsumer( int min, int max )
: MinimalWatts( min )
, MaximalWatts( max )
{}
};
class FullHDTelevision
: public Display
, virtual public PowerConsumer
{
public:
FullHDTelevision( int minWatts, int maxWatts )
: Display( 1920, 1080 )
, PowerConsumer( minWatts, maxWatts )
{}
};
class BluRayPlayer : virtual public PowerConsumer
{
private:
bool DiscTrayOpen;
public:
BluRayPlayer()
: PowerConsumer( 1, 35 )
{
DiscTrayOpen = false;
}
};
class BluRayFullHDTelevision
: public FullHDTelevision
, public BluRayPlayer
{
public:
BluRayFullHDTelevision()
: FullHDTelevision( 3, 250 )
{
}
};
int main(int argc, const char * argv[])
{
return 0;
}