Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Картичка Problem 2 (0 / 0)
- Да се имплементира апстрактна класа Karticka со два чисто виртуелни методи:
- • int vkupnaCena() - се пресеметува вкупната цена на картичката со дадените возења. (10 поени)
- • int brojVozenja()- го враќа бројот на возења за кои важи картичката. (5 поени)
- Од оваа класа да се имплементираат две изведени класи KartickaAvtobus и KartickaVoz.
- • За една автобуска картичка се чува информации за цената на картичката (цел број), цената за едно возење (цел број) и бројот на возења(цел број). Вкупната цена се пресметува како збир од цената на картичката и производ од цената за едно возење и бројот на возења.
- • За една картичка за воз се чуваат информации забројот на возења (цел број) и информација за тоа дали картичката е за возење во градска област(bool променлива) (5 поени). Ако возењето е за во градска област цената за едно возење е 50 денари, а ако не е за во градска област цената е 95 денари.
- Да се имплементира соодветен конструктор, како и следните оператори:
- • оператор < за споредување на два објекти од каков било тип (KartickaAvtobus, KartickaVoz) според вкупната цена на картичките (10 поени)
- • оператор << за печатење на стандарден излез во формат: (5 поени)
- Vkupna cena: [vkupnaCena] Broj na vozenja: [brojVozenja]
- Да се имплементира класа AvtomatZaKarticki со следниот статичен метод:
- static int total(Karticka**karticki, int n) - што прима низа од покажувачи од класата Karticka и нивниот број и треба да ја врати вкупната цена платена за сите картички купени од автоматот кој се дадени во низата karticki. (15 поени)
- */
- #include <iostream>
- #include <cstring>
- using namespace std;
- int main() {
- int n;
- cin >> n;
- if(n == 0) {
- cout << "Constructors" << endl;
- KartickaAvtobus ds(150,35,2);
- KarickaVoz cs(15,false);
- cout << "OK" << endl;
- } else if(n == 1) {
- cout << "operator <<" << endl;
- KartickaAvtobus ds(150,35,2);
- KarickaVoz cs(10,true);
- cout << ds << endl;
- cout << cs << endl;
- } else if(n == 2) {
- cout << "<" << endl;
- KartickaAvtobus ds(150,35,2);
- KarickaVoz cs(20,true);
- KarickaVoz css(30, false);
- cout << (ds < cs) << endl;
- cout << (cs < ds) << endl;
- cout << (cs < css) << endl;
- cout << (cs < css) << endl;
- } else if(n == 3) {
- cout << "Karticka total" << endl;
- KartickaAvtobus ds1(150,35,2);
- KartickaAvtobus ds2(100,80,5);
- KartickaAvtobus ds3(150,40,1);
- KarickaVoz cs1(15,false);
- KarickaVoz cs2(10,true);
- KarickaVoz cs3(20,true);
- Karticka** s = new Karticka*[6];
- s[0] = &ds1;
- s[1] = &ds2;
- s[2] = &ds3;
- s[3] = &cs1;
- s[4] = &cs2;
- s[5] = &cs3;
- cout<<AvtomatZaKarticki::total(s, 6);
- delete [] s;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement