004
16.02.2017, 16:28 Uhr
GisiNA
|
Hallo!
Vielen Dank! Nur ändert die Namenänderung an mein Anliegen nicht viel.
Ich kann gerne Patient in DatenbankPatient umändern. Und Person in Patient.
Meine Frage geht nicht so sehr darum wie die Zuordnung zwischen den Klassen dargestellt werden kann, da es sich um ein Experiment handelt, sonder nur darum wie man in einem <b>Klassenvector</b>, d.h. <b>vector<NameKlasse> nameVector</b> die Daten der Elternklasse einlegt, damit dieser Vector alle notwendigen Daten speichert um ein, sagen wir mal, "End"-Objekt, in diesem Fall "Patient" erstellen kann und die dann abgerufen werden können. Ob nun die Klasse die den Vector beinhaltet, Patient oder DatenbankPatient heißt, ist wahrhaftig gleichgültig.
Das ist ein ganz interessantes Thema, aber leider gibt es kaum etwas zu finden. Deshalb suche ich hier Hilfe.
Kennst du dich mit Klassenvectoren aus? Warum geht dieser Code schief?
Ich lege hier einen neuen Code ein der die von dir vorgeschlagenen Namensänderung der Klassen beinhaltet, damit die Idee dieses Experimentes ersichtlicher ist. Oder das hoffe ich zumindest.
C++: |
#include <iostream> #include <iomanip> #include <cstdlib> #include <stdio.h> #include <vector>
using namespace std;
class Patient { protected: string fname; string sname; public: // Patient(){fname = ' '; sname = ' ';} ~Patient(){}
Patient(string names, string namef) { sname = names; fname = namef; }
void setNachname(string names) { sname = names; }
void setVorname(string namef) { fname = namef; }
string getVorname() const { return fname; } string getNachname() const { return sname; }
};
class PatientDatenbank : protected Patient { protected: vector<Patient> patient; public: PatientDatenbank(){} ~PatientDatenbank(){}
vector<Patient> GetCopyOfVector() { return patient; }
void patInsert(vector<Patient>& patient) { patient.push_back(patient); cout << endl; }
void printVectorPatientDatenbank(const vector<Patient>& patient) { int i; int size = patient.size();
for(i=0; i<size; i++) { icout << "Name PatientDatenbank: " << patient[i] << endl; } } };
int main() { // Crea un nuevo objeto. PatientDatenbank patientDB01("ma", "mo"); //PatDB.patInsert(PatDB); //PatDB.printVectorPatientDatenbank(PatDB);
return 0; }
|
Dieser Post wurde am 16.02.2017 um 16:29 Uhr von GisiNA editiert. |