Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Vererbung bei C++ und Java

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Ferdinandus
Gast





BeitragVerfasst am: 18. Jun 2001 8:57   Titel: Vererbung bei C++ und Java

Hallo zusammen!

Irgendwie habe ich immer Probleme mit objektorientierten Sprachen. Nun habe ich mir ein weiteres Buch ueber C++ gekauft und mich wundert dort, dass man immer nur von _einer_ Klasse erben kann.

Haette es denn nicht Vorteile wenn man von mehreren Klassen erben koennte?

Dann koennte man zwar nicht mehr so schoene Vererbungsbaeume erstellen wie mit JavaDoc unter Java, da es dann moeglich waere dass eine Klasse halt auf zwei oder mehr anderen Klassen aufbaut, doch Vorteile haette es doch bestimmt.

Andererseits waere dieses Feature bestimmt schon in C++ integriert, wenn es Vorteile haette.
Daher frage ich mich:

Welche _Nachteile_ haette es, wenn eine Klasse von mehreren Klassen erben koennte?


MfG Ferdinandus
 

Sebastian Ude
Gast





BeitragVerfasst am: 18. Jun 2001 14:46   Titel: Re: Vererbung bei C++ und Java

Man kann in C++ eine Klasse von mehreren Klassen ableiten !


Hier mal ein (zugegeben dummes) Beispiel:

code:

/* (c) 2000 @ Sebastian Ude */
#include <iostream.h>

class processor
{
public:
processor(int);
int processor_info();
private:
int mhz;
};

processor::processor(int mhz)
{
processor::mhz = mhz;
}

int processor::processor_info()
{
return mhz;
}


class graka
{
public:
graka(int);
int graka_info();
private:
int memory;
};

graka::graka(int memory)
{
graka::memory = memory;
}

int graka::graka_info()
{
return memory;
}


class computer : public processor, public graka
{
public:
computer(int, int, bool);
void computer_info();
private:
bool linux_installed;
};

computer::computer(int mhz, int memory, bool linux_installed) :
processor(mhz), graka(memory)
{
computer::linux_installed = linux_installed;
}

void computer::computer_info()
{
cout << "Prozessortakt: " << processor_info() << endl;
cout << "Grafikkartenspeicher: " << graka_info() << endl;

if (linux_installed)
cout << "Hat Linux: JA" << endl;
else
cout << "Hat Linux: Nein" << endl;
}


int main()
{
class computer mypc(566, 16, true);

mypc.computer_info();

return 0;
}

 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy