Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- class DebitCard{
- protected:
- char *name;
- float balance;
- long int cardID;
- public:
- DebitCard(){
- //delete []name;
- name=new char[0];
- }
- DebitCard(char *name,float balance,int cardID){
- this->name=new char[strlen(name)+1];
- strcpy(this->name,name);
- this->balance=balance;
- this->cardID=cardID;
- }
- void print(){
- cout<<name<<" balance: "<<balance<<endl;
- }
- void deposit(float amount){
- this->balance+=amount;
- }
- DebitCard &operator+=(float amount){
- this->balance+=amount;
- return *this;
- }
- void withdraw(float amount){
- if(amount>balance){
- cout<<"Not enough credits"<<endl;
- }else{
- balance-=amount;
- }
- }
- };
- class CreditCard:public DebitCard{
- private:
- int limit;
- public:
- CreditCard(){}
- CreditCard(){}
- ~CreditCard(){}
- };
- int main(){
- DebitCard random("Petar",250,1765432199);
- random.print();
- cout<<"Adding 2500"<<endl;
- random+=2500;
- random.print();
- random.withdraw(3000);
- random.withdraw(2000);
- random.print();
- CreditCard random2("Petar2",250,1765432199);
- random2.print();
- cout<<"Adding 2500"<<endl;
- random2+=2500;
- random2.print();
- random2.withdraw(3000);
- random2.withdraw(2000);
- random2.print();
- return 0;
- }
- // nasleduvanje
- /*
- class Zivotno{
- protected:
- char boja[15];
- float tezina;
- public:
- Zivotno(){
- cout<<"Default constructor Zivotno"<<endl;
- }
- Zivotno(char boja[],float tezina){
- cout<<"Parameter constructor Zivotno"<<endl;
- strcpy(this->boja,boja);
- this->tezina=tezina;
- }
- void print(){
- cout<<boja<<" "<<tezina;
- }
- float getTezina(){
- return tezina;
- }
- ~Zivotno(){
- cout<<"Default destructor Zivotno"<<endl;
- }
- };
- class Kuce:public Zivotno{
- private:
- char rasa[15];
- bool daliKasa;
- public:
- Kuce(){
- cout<<"Default constructor Kuce"<<endl;
- }
- Kuce(char boja[],float tezina,char rasa[],bool daliKasa):Zivotno(boja,tezina){
- cout<<"Parameter constructor Kuce"<<endl;
- // ovie gi pishuvame ako nemavme constructor od Zivotno
- //strcpy(this->boja,boja);
- //this->tezina=tezina;
- strcpy(this->rasa,rasa);
- this->daliKasa=daliKasa;
- }
- // override na Zivotno.print();
- void print(){
- Zivotno::print();
- cout<<" "<<rasa<<" "<<daliKasa<<endl;
- }
- ~Kuce(){
- cout<<"Default destructor Kuce"<<endl;
- }
- };
- class Petel:public Zivotno{
- private:
- bool daliKukurika;
- public:
- Petel(){
- cout<<"Default constructor Petel"<<endl;
- }
- Petel(char boja[],float tezina,bool daliKukurika):Zivotno(boja,tezina){
- cout<<"Parameter constructor Petel"<<endl;
- // ovie gi pishuvame ako nemavme constructor od Zivotno
- //strcpy(this->boja,boja);
- //this->tezina=tezina;
- this->daliKukurika=daliKukurika;
- }
- // override na Zivotno.print();
- void print(){
- Zivotno::print();
- cout<<" "<<daliKukurika<<endl;
- }
- ~Petel(){
- cout<<"Default destructor Petel"<<endl;
- }
- };
- int main(){
- Kuce sharko("Crna",10,"Dzukela",false);
- Petel petar("Bel",2,true);
- cout<<petar.getTezina()<<endl;
- cout<<sharko.getTezina()<<endl;
- return 0;
- }
- */
- // vo constructor i destructor resetirame dinamicki alocirani promenlivi
- /*
- class Runner{
- private:
- char *ime;
- float sekundi;
- public:
- Runner(){
- ime=new char[0];
- }
- Runner(char *ime,float sekundi){
- //delete []this->ime;
- //this->ime=new char[0];
- this->ime=new char[strlen(ime)+1];
- strcpy(this->ime,ime);
- this->sekundi=sekundi;
- }
- Runner &operator=(Runner &drugTrkac){
- this->sekundi=drugTrkac.sekundi;
- delete []this->ime;
- this->ime=new char[strlen(drugTrkac.ime)+1];
- strcpy(this->ime,drugTrkac.ime);
- return *this;
- }
- friend ostream &operator<<(ostream &output, Runner &trkac){
- output<<trkac.ime<<" "<<trkac.sekundi<<endl;
- return output;
- }
- friend istream &operator>>(istream &input, Runner &trkac){
- input>>trkac.ime>>trkac.sekundi;
- return input;
- }
- Runner &operator+=(float dodadiSekundi){
- this->sekundi+=dodadiSekundi;
- return *this;
- }
- bool operator==(Runner &drugTrkac){
- if(strcmp(this->ime,drugTrkac.ime)==0){
- if(this->sekundi==drugTrkac.sekundi){
- return true;
- }
- }
- return false;
- }
- ~Runner(){
- delete []ime;
- }
- };
- class Trka{
- private:
- Runner *niza;
- int brojTrkaci;
- char lokacija[20];
- public:
- Trka(){
- niza=new Runner[0];
- }
- Trka(char lokacija[]){
- niza=new Runner[0];
- strcpy(this->lokacija,lokacija);
- }
- void printTrkaci(){
- cout<<"Vo "<<lokacija<<" se trkaat slednive trkaci:"<<endl;
- for(int i=0;i<brojTrkaci;i++){
- cout<<niza[i];
- }
- }
- Trka &operator+=(Runner &novTrkac){
- // gi zacuvuvame site trkaci vo posebna niza
- Runner *tempNiza=new Runner[brojTrkaci];
- for(int i=0;i<brojTrkaci;i++){
- tempNiza[i]=niza[i];
- }
- // ja prosiruvame nizata za +1 mesto (isto taka se brise nizata radi NEW)
- niza=new Runner[brojTrkaci+1];
- // si gi vrakjame zacuvani trkaci nazad vo nizata so +1 mesto
- for(int i=0;i<brojTrkaci;i++){
- niza[i]=tempNiza[i];
- }
- // na posledno mesto stavi go noviot trkac
- niza[brojTrkaci]=novTrkac;
- // zgolemuvame brojot na trkaci vo nizata
- brojTrkaci++;
- // briseme tempNiza zosto ne ni treba veke
- delete []tempNiza;
- return *this;
- }
- Trka &operator-=(Runner &brisiTrkac){
- int flag=0;
- for(int i=0;i<brojTrkaci;i++){
- if(niza[i]==brisiTrkac){
- flag=1;
- break;
- }
- }
- if(flag==1){
- // briseme trkacot od nizata
- Runner *tempNiza=new Runner[brojTrkaci];
- int brojac=0;
- for(int i=0;i<brojTrkaci;i++){
- // site shto ne se ednakvi na brisiTrkaci gi stavame vo tempNiza
- if(niza[i]==brisiTrkac){
- }else{
- tempNiza[brojac]=niza[i];
- brojac++;
- }
- }
- // namaluvame brojot na trkaci za 1
- brojTrkaci--;
- // namaluvame goleminata na nizata za 1
- niza=new Runner[brojTrkaci];
- // gi vrakjame trkacite minus brisiTrkac nazad vo nizata
- for(int i=0;i<brojTrkaci;i++){
- niza[i]=tempNiza[i];
- }
- delete []tempNiza;
- }
- return *this;
- }
- ~Trka(){
- delete []niza;
- }
- };
- int main(){
- Runner prv("Jovan",25.5);
- Runner vtor("Stefan",21);
- Runner tret("Boris",23.2);
- Trka t("Ohrid");
- t+=prv;
- t+=vtor;
- t+=tret;
- t.printTrkaci();
- t-=vtor;
- t.printTrkaci();
- // za doma - go printame najbrziot trkac
- // t.najbrzTrkac();
- return 0;
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement