Advertisement
Guest User

Untitled

a guest
Aug 18th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. #include <iostream>
  2. #include <exception>
  3. #include <deque>
  4.  
  5. using namespace::std;
  6.  
  7. class Verem:protected deque<int>{
  8.     public:
  9.         Verem(int n=0, int val=0){
  10.         for (int i=0; i<n; i++)push_back(val);
  11.         }
  12.  
  13.         void push(int e){
  14.             push_back(e);
  15.         }
  16.  
  17.         int pop()throw (range_error){
  18.             if (empty()==1)
  19.                 throw range_error ("kutyafule");
  20.              int tmp=back();
  21.             pop_back();
  22.             return tmp;
  23.            
  24.         }
  25.  
  26.         bool empty() const{
  27.         return deque<int>::empty() ;
  28.         }
  29.  
  30.         int size(){
  31.             return deque<int>::size();
  32.         }
  33.        
  34.         void print(){
  35.             iterator itr;
  36.             for(itr = this->begin(); itr != end(); ++itr)
  37.                 cout<<*itr<<endl;
  38.        
  39.         }
  40.  
  41. };
  42.  
  43. class Szamologep:private Verem{
  44.     public:
  45.         Szamologep(int n,int val) :Verem (n,val){}
  46.  
  47.         void osszead(){
  48.             int tmp1,tmp2;
  49.             tmp1=back();
  50.             pop();
  51.             tmp2=back();
  52.             pop();
  53.             push((tmp1+tmp2));
  54.  
  55.         }
  56.  
  57.         void szoroz(){
  58.             int tmp1,tmp2;
  59.             tmp1=back();
  60.             pop();
  61.             tmp2=back();
  62.             pop();
  63.             push((tmp1*tmp2));
  64.  
  65.         }
  66.  
  67.         void oszt() {
  68.             int op1 = pop();
  69.             int op2 =pop();
  70.             if (op1 == 0) throw ("Szamologep::oszt - nullával oszt");
  71.             push(op2/op1);
  72. }
  73.  
  74.         void kiir(){
  75.             cout<<back()<<endl;
  76.            
  77.         }
  78.        
  79.  
  80.         void operator >>(int a){
  81.             push(a);
  82.         }
  83.  
  84.    
  85. };
  86.  
  87. int main(){
  88.    
  89.  
  90.     try{
  91.  
  92.  
  93.         Szamologep sz1(3,4);
  94.         sz1>>8;
  95.         cout<<"eredeti tomb:"<<endl;
  96.         //sz1.print();
  97.         //cout<<"eddig"<<endl;
  98.         sz1.osszead();
  99.         //sz1.print();
  100.         sz1.kiir();
  101.         //cout<<"eddig"<<endl;
  102.         sz1>>0;
  103.        
  104.         sz1.oszt();
  105.         //sz1.print();
  106.  
  107.  
  108.     }catch (range_error)  {cout<<"HIBA:"<<endl;}
  109.     catch (char*s) {cout<<"malacfej"<<s<<endl; }
  110.     return 0;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement