Code:
#ifndef tip_h
#define tip_h
#include "ranac.h"
class Contour: public Ranac{
public:
Contour(){
maxkapac=30;
nosivost=12;
}
~Contour(){};
float kapacitet(){
return maxkapac;
}
};
class Odyssee: public Ranac{
public:
Odyssee(){
maxkapac=50;
nosivost=20;
}
~Odyssee(){};
float kapacitet(){
return maxkapac;
}
};
class Transalp: public Ranac{
public:
Transalp()
{
maxkapac=90;
nosivost=30;
}
~Transalp(){};
float kapacitet()
{
return maxkapac;
}
};
class Posmatrac{
public:
void promjena(Ranac* r, char* tip);
};
class Svalja: public Posmatrac{
public:
char* ime;
void krpi();
};
#endif
#ifndef ranac_h
#define ranac_h
#include "teret.h"
class Ranac{
protected:
float maxkapac;
float nosivost;
float kapac;
float tezina;
char* list<Teret*> l;
public:
Ranac():kapac(0),tezina(0){};
virtual float kapacitet()=0;
float slobodno();
void ubaci(Teret& t);
void sadrzaj();
bool citav();
char* registrujPosmatraca(Posmatrac& p);
void zakrpi();
};
#endif
#ifndef teret_h
#define teret_h
//using namespace std;
class Teret{
protected:
char* naz;
float tez;
float zap;
public:
Teret(char* n, float t, float z){
naz=n;
tez=t;
zap=z;
}
char* naziv(){
return naz;
}
float tezina(){
return tez;
}
float zapremina(){
return zap;
}
};
class Odjeca: public Teret{
public:
Odjeca();
~Odjeca();
};
class Hrana: public Teret{
public:
Hrana();
~Hrana();
};
class Posudje: public Teret{
public:
Posudje();
~Posudje();
};
#endif
#include "ranac.h"
#include "teret.h"
#include "tip.h"
#include <iostream>
#include <string>
#include <vector>
using namespace std;
float Ranac::slobodno(){
return kapacitet()-kapac;
}
void Ranac::ubaci(Teret& t){
l.push_front(&t);
kapac+=t.zapremina();
tezina+=t.tezina();
}
void Ranac::sadrzaj(){
char* naziv;
Teret *ter;
list<Teret*>::iterator it=l.begin();
cout << "U rancu se nalazi:" << endl;
while (it!=l.end()){
ter=(*it++);
naziv=ter->naziv();
cout << " " << naziv << endl;
}
}
int main(int argc, char* argv[])
{
float cap;
Contour r;
cap=r.kapacitet();
cout << "Kapacitet je: " << cap << endl;
cap=r.slobodno();
cout << "Slobodno je: " << cap << endl;
Teret *suvoMeso=new Teret("Suvo meso",0.5,2.1);
Teret *casa=new Teret("Casa",1.1,2.2);
r.ubaci(*suvoMeso);
r.ubaci(*casa);
r.sadrzaj();
cap=r.kapacitet();
cout << "Kapacitet je: " << cap << endl;
cap=r.slobodno();
cout << "Slobodno je: " << cap << endl;
system ("pause");
return 0;
cin.get();
}
Zna li neko u cemu je greska?