was ist falsch? wenn ich Ergebnis der Personenklasse bekommen will, gibt es mir nur sekundäre Personendaten und zeigen ihren Namen nicht an? Liege ich falsch ? Ich möchte menschliche Informationen nach Personenklassen setzen und jede Hilfe nutzen? (bitte sagen Sie mir, wie Änderung kName durch menschliche und Änderung der Person Klasse speichern) Person.herhalten das gleiche Ergebnis in Klassenvererbung
#include<iostream>
#ifndef person_h
#define person_h
using namespace std;
class person {
protected:
static string kname;
static int kage;
public:
static void setnumber();
static void setname();
static void setage();
void display();
};
#endif
person.cpp
#include"person.h"
string person::kname;
int person::kage =0;
void person::setage()
{
cout << " please enter your age \n";
cin >> kage;
}
void person::setname()
{
cout<< "please enter your name \n";
cin >> kname;
}
void person::display()
{
int i=0;
for(i=0; i< 3; i++)
cout << kname <<endl;
}
human.h
#include<iostream>
#include"person.h"
#ifndef human_h
#define human_h
using namespace std;
class human : public person {
protected:
person k[100];
static int i;
static int counter;
public:
void info();
};
#endif
human.cpp
#include"human.h"
int human::number=0;
int human::counter=0;
void human::setnumberofperson(int a)
{
srand(time(0));
cout << " how many person ? \n";
cin >> a;
counter = a;
}
void human::info()
{int i=0;
for (i=0; i< counter; i++){
k[i].setage();
k[i].setname();
cout << k[i].kname << "\t" << "\t" << k[i].kage << endl;
}
}
main.cpp
#include<iostream>
#include"person.h"
#include"human.h"
int main()
{
int a;
person k1;
human e1;
e1.setnumberofperson(a);
e1.sabtename();
k1.display();
}
nehmen Sie bitte eine Minute Ihre Einbuchtung zu machen konsistent. Es ist in Ordnung, Ihren eigenen Stil zu haben, aber es ist ziemlich erschütternd, jede andere Zeile anders eingerückt zu haben. –
ja ich habe eine Menge Person und möchte ihre Informationen speichern –
Dann entfernen Sie jede Instanz von statisch in Ihrer Personenklasse. – drescherjm