WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 29.04.2004, 21:35   #1
Bastet
Elite
 
Registriert seit: 07.09.2000
Beiträge: 1.036


Standard c++ - Konstruktoren - Initialisierung - vorzugsschreibweise

hallo leute - nach ner lernpause gehts endlich wieder frisch ans werk.

also nach längerem recherchieren in verschiedenen quellen, hab ich mal alle schreibweisen des konstruktors zusammengeschrieben.
ich weiss, dass manche schreibweisen zusätzliche prozeduren/basiskonstr. durchführen/aufrufen und mehr platz brauchen, allerdings ist mir nicht wirklich klar welche es sind und wann ich eine der angeführten bevorzugen sollte.

dummie aw bevorzugt
merci

Code:
class auto        			//inline Konstruktor
{ int Raeder;
  double Gewicht;
public:
auto(int EinRaeder, double EinGewicht)
 {
    Raeder=EinRaeder;
    Gewicht=EinGewicht;

    cout << "bla bla bla";
    }
};

/////////

class auto         			//inline Konstruktor
{ int Raeder;
  double Gewicht;
public:
auto(int EinRaeder, double EinGewicht) :
Raeder(EinRaeder),Gewicht(EinGewicht) {}
};

/////////

class auto        			//extern Konstruktor
{ int Raeder;
  double Gewicht;
public:
auto(int, double);
};

auto::auto(int EinRaeder,  double EinGewicht) :
Raeder(EinRaeder), Gewicht(EinGewicht) {}

/////////

class auto       			 // externer Konstruktor
{ int Raeder;
  double Gewicht;
public:
auto(int, double);
};

auto::auto(int Raeder, double EinGewicht) :
Gewicht(EinGewicht)
{
     this->Raeder=Raeder;
}

//////////
/////////


class autobus : public auto  	 //abgeleitete Klasse - extern Konstruktor (SUBklasse)
{  string Farbe;
public:
autobus(int, double, string);  	//zuerst BASISklassenattrib. dann SUBklassenattrib.
};

autobus::autobus(int Raeder, double Gewicht, string EinFarbe) :
 Farbe(EinFarbe), auto(Raeder, Gewicht) {}
____________________________________
Bye Bastet

Bastet ist offline   Mit Zitat antworten
Alt 29.04.2004, 23:03   #2
K@sperl
bitte Mailadresse prüfen!
 
Registriert seit: 03.04.2001
Beiträge: 2.387


Standard

Also ich hab bis jetzt immer den Konstruktor (und auch die Methoden) im .h File deklariert und im .cpp File implementiert. Ist meiner Meinung nach am übersichtlichsten dies zu trennen.

zB.:
Code:
car.h
class Car {
  private:
    int length;
    String model;
  public:
  Car(int length, String model);
  printCar();
}


car.cpp
Car::Car(int length, String model) {
  this->length = length;
  this->model = model;
}

Car::print() {
 cout << .....
}
K@sperl ist offline   Mit Zitat antworten
Alt 03.05.2004, 10:28   #3
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi !

hab das auch immer so gemacht, wie von k@sperl beschrieben.
Imho. ist lesbarkeit/verständlichkeit vom source wichtiger, als dass der konstruktor 1/1000000 sekunde schneller aufgerufen wird - bei der normalen anwendungsprogrammierung zumindest.

fg
-hannes
Biri ist offline   Mit Zitat antworten
Alt 03.05.2004, 13:16   #4
Bastet
Elite
 
Registriert seit: 07.09.2000
Beiträge: 1.036


Standard

naja wenns zwecks leichter lesen ginge... ich bevorzuge eigentlich eher die inline konstruktoren.

Code:
class auto         		
{ int Raeder;
  double Gewicht;
public:
auto(int EinRaeder, double EinGewicht) :
Raeder(EinRaeder),Gewicht(EinGewicht) {}
};
____________________________________
Bye Bastet

Bastet ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:09 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag