Hej! Jag har gjort klassen Person. Detta ska nu vara en superklass och det ska finnas två subklasser. Dessa ska vara klassen Lärare och klassen Elev. Lärare ska ha samma egenskaper som Person, men förutom det så har han en lön, och Eleven ska också ha samma egenskaper, med med bidrag istället för lön. Det skall gå att ändra lönen via metoder. Hur ska man göra för att få ihop detta. Hoppas nån kan hjälpa mig. Koden till klassen Person ser ut så här:
#include <string>
using namespace std;
class Person {
private:
string fnamn;
string enamn;
string gatuadr;
string postadr;
int postnr;
int telnr;
public:
Person(string f, string e, string g, int pn, string pa, int t) {
fnamn = f;
enamn = e;
gatuadr = g;
postnr = pn;
postadr = pa;
telnr = t;
}
};
int main() {
Person *p;
p = new Person("Sven", "Karlsson", "Drottninggatan 5", 25486, "Mjölby", 032122231);
}
PeWMedlem sedan juni 200010 432 inlägg Känns ju verkligen som en skoluppgift. Läs på om arv ;)
Det är ingen skoluppgift. Jag går i nian. Vi läser inte C++ i skolan än.
PeWMedlem sedan juni 200010 432 inlägg Okej. Men nån form av bok har du väl? Exemplet är ju som taget ur en kurslitteratur... det du ivf ska göra är att du låter klasserna Elev och Lärare ärva från Person och sen lägger du till de utökade egenskaperna på respektive klass.
Det finns mängder med länkar om grundläggande C++, här är en:
http://www.idt.mdh.se/kurser/cd5250/msl01/msl02/lessons.html
class Larare : public Person
{
public:
void SetLon(int lon);
int GetLon() const;
private:
int m_lon;
}
Nej, det blir inte så bra. Lärare måste ha en konstruktor också.
class Lärare : public Person
{
public:
Lärare(string f, string e, string g, int pn, string pa, int t, int _lön) :
Person(f,e,g,pn,pa,t),
lön(_lön)
{}
void setLön(int lön); //Inte så krångliga att implementera
int getLön() const;
private:
int lön;
}
true. Kollade aldrig om Person hade annat än default konstruktorn =)