Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : problem mit c++ klassen + vererbung



doomcalyptica
27-03-2006, 19:53
bitte kann mir jemand helfen:
ich frage mich, warum in der main funktion nicht auf die vererbten elemente von CHaus zugegriffen werden kann, was mach ich falsch ?




#include <stdio.h>
#include <string.h>

class CHaus {
protected:
double A;
int nStock;
public:
void setDaten(double a,int n) {
A=a;
nStock=n;
}
void getDaten(double*a,int*n) {
*a=A;
*n=nStock;
}
};

class CMehr:public CHaus {
int nWohn;
public:
void setDaten(int n) {
nWohn=n;
}
void getDaten(int*n) {
*n=nWohn;
}
};

int main() {
CMehr a;

double A;
int nStock,nWohn;
a.setDaten(13.5,5);
a.setDaten(10);
a.getDaten(&A,&nStock);
a.getDaten(&nWohn);

printf("%lf\t%d\t%d\n",A,nStock,nWohn);

return 0;
}

panzi
27-03-2006, 20:41
bitte kann mir jemand helfen:
ich frage mich, warum in der main funktion nicht auf die vererbten elemente von CHaus zugegriffen werden kann, was mach ich falsch ?




#include <stdio.h>
#include <string.h>

class CHaus {
protected:
double A;
int nStock;
public:
void setDaten(double a,int n) {
A=a;
nStock=n;
}
void getDaten(double*a,int*n) {
*a=A;
*n=nStock;
}
};

class CMehr:public CHaus {
int nWohn;
public:
void setDaten(int n) {
nWohn=n;
}
void getDaten(int*n) {
*n=nWohn;
}
};

int main() {
CMehr a;

double A;
int nStock,nWohn;
a.setDaten(13.5,5);
a.setDaten(10);
a.getDaten(&A,&nStock);
a.getDaten(&nWohn);

printf("%lf\t%d\t%d\n",A,nStock,nWohn);

return 0;
}

Da gabs denk ich schon mal nen thread dazu. hier oder auf http://www.coding-board.de/board/
da musst using verwenden. wie das genau war... musst nachlesen.

locus vivendi
27-03-2006, 20:46
Ich möchte hier erneut auf die C++ FAQ Lite verweisen:
http://www.parashift.com/c++-faq-lite/strange-inheritance.html#faq-23.9