Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » vererbungs problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.05.2004, 20:54 Uhr
~menschmitfrage
Gast



C++:
#include <iostream.h>

int main (){
      class one {
            public:
            int a;
            one(int z){a=z;}
      };
      class two : public one {
            public:
            int b,c;
            two (int y){b=y; c=one::a;}
            void call(){cout << a << b << c << endl;}
      };
      int f;
      one eins(1);
      two zwei(2);

      cin >> f;
      return 0;
}



warum geht das nicht ? borland sagt das er kein standard konstruktor von one findet

Dieser Post wurde am 27.05.2004 um 21:34 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.05.2004, 21:36 Uhr
Pablo
Supertux
(Operator)


Wenn ich mich nicht irre, dann kannst keine Klassen innerhalb einer Funktion schreiben.

Außerdem initialierst du one::a nicht, wenn ich das richtig verstehe.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.05.2004, 22:05 Uhr
theosoft



@Pablo yep!
@~menschmitfrage: guck' mal, ob folgendes zu deinen absichten passt:

C++:
#include <iostream>
#include <conio>

class one {
  public:
  int a;
  one(){}
  one(int z){
    a=z;
  }
};

class two : public one {
  public:
  int b,c;
  two (int x, int y, int z){
    a=x;
    b=y;
    c=z;
  }
  void call(){
    cout << a << b << c << endl;
  }
};

int main (){
  one eins(6);
  two zwei(1,2,3);
  zwei.call();
  getch();
  zwei.a = eins.a;
  zwei.call();
  getch();
  return 0;
}

viel erfolg wünscht theo
--
ifS (immer fröhliches Schaffen)
theosoft
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.05.2004, 22:10 Uhr
~menschmitfrage
Gast


ne mir gings mehr darum wie ichs vererbe....

also die zweite klasse muss ja so aussehn:
one : public two


und dann mach ich doch im konstruktor
two (int a) : one(a){}


und wie rechne ich dann damit weiter? speicher ich das als var in der klasse..... also zb:

public:
int z;
two (int z) : one(a){}

und dann rechne ich normal mit z? richtig?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
27.05.2004, 22:11 Uhr
Pablo
Supertux
(Operator)


wobei conio.h im ANSI Forum zu benutzen ist nur mutige und lebensmüde
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
27.05.2004, 22:12 Uhr
theosoft



@Pablo LOL LOL
--
ifS (immer fröhliches Schaffen)
theosoft
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
28.05.2004, 07:58 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
Pablo postete
Wenn ich mich nicht irre, dann kannst keine Klassen innerhalb einer Funktion schreiben.


Du irrst.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
28.05.2004, 08:21 Uhr
Pablo
Supertux
(Operator)


Und was für ein Sinn macht es Klassen innerhalb von Funktionen zu schreiben? Ich nehme an, sie sind auch nur innerhalb dieser Funktionen vefügbar, oder?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
28.05.2004, 09:03 Uhr
virtual
Sexiest Bit alive
(Operator)


@Pablo,
genau, sind nur in der Fkt. sichtbar.
Ich benutze dieser Feature ausgesprochen selten, fast nie.
Was ich schon eher hin+wieder benutze sind typedefs ind Funktionen (insbes. für Iteratoren).
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
28.05.2004, 13:04 Uhr
Pablo
Supertux
(Operator)


Aber was ist denn der Sinn, dass nur eine Funktion über ne Klasse verfügt? Bei den Iteratoren kann ich mir irgendwie schon vorstellen, trotdzem verstehe ich den Sinn nicht.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: