Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 1. rok grupa A
- Definiraj klasu pilot s privatnim atributnom puno_ime, javnim èin, te virtualnom metodom unaprijeðenje.
- Pretpostavljene vrijednosti imena i èina su Marko Markovic i novak.
- Piloti se dijele na vojne i civilne. Vojni prilikom unaprijeðenja postaju pukovnici, a civilni kapetani.
- Statièki atributi prate koliko je vojnih, i konstantno se mjenjaju po potrebi.
- Korisnik u glavnom programu unosi broj koji predstavlja velièinu vektora vojnih i civilnih pilota.Unose se imena i èinovi.
- Nakon popune, pogram ispiše èinove svih vojnih pilota koji se zovu Marko Markoviæ.
- Ispiše koliko vojnih pilota postoji.
- */
- #include <iostream>
- #include <string>
- #include <vector>
- using namespace std;
- class Pilot{
- private:
- string *puno_ime;
- public:
- string *javni_cin;
- virtual void unaprijedenje()=0;
- void setIme(){
- cin.sync();cin.clear();getline(cin,*puno_ime);
- }
- string getIme(){
- return *puno_ime;
- }
- Pilot(){
- puno_ime=new string;
- javni_cin=new string;
- *puno_ime="Marko Markovic";
- *javni_cin="novak";
- }
- ~Pilot(){
- delete puno_ime;
- delete javni_cin;
- }
- };
- class Vojni:public Pilot{
- public:
- void unaprijedenje(){
- *javni_cin="pukovnik";
- }
- static int brv;
- Vojni(){
- brv++;
- }
- ~Vojni(){
- brv--;
- }
- };
- class Civilni:public Pilot{
- public:
- void unaprijedenje(){
- *javni_cin="kapetan";
- }
- };
- int Vojni::brv=0;
- int main(){
- int *brp=new int;
- int *i=new int;
- cout<<"Unesite broj pilota:"<<endl;
- cin>>*brp;
- vector <Vojni*> *vv=new vector <Vojni*> (*brp);
- vector <Civilni*> *vc=new vector <Civilni*> (*brp);
- for(*i=0;*i<*brp;(*i)++){
- vv->at(*i)=new Vojni;
- vc->at(*i)=new Civilni;
- }
- for(*i=0;*i<*brp;(*i)++){
- cout<<"Unesite ime vojnog pilota:"<<endl;
- vv->at(*i)->setIme();
- cout<<"Unesite cin vojnog pilota:"<<endl;
- cin.sync();cin.clear();getline(cin,*(vv->at(*i)->javni_cin));
- cout<<"Unesite ime civilnog pilota:"<<endl;
- vc->at(*i)->setIme();
- cout<<"Unesite cin civilnog pilota:"<<endl;
- cin.sync();cin.clear();getline(cin,*(vc->at(*i)->javni_cin));
- }
- for(*i=0;*i<*brp;(*i)++){
- if(vv->at(*i)->getIme()=="Marko Markovic"){
- cout<<*(vv->at(*i)->javni_cin)<<endl;
- }
- }
- cout<<"Vojnih pilota ima: "<<Vojni::brv;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement