Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <exception>
- #include <deque>
- using namespace::std;
- class Verem:protected deque<int>{
- public:
- Verem(int n=0, int val=0){
- for (int i=0; i<n; i++)push_back(val);
- }
- void push(int e){
- push_back(e);
- }
- int pop()throw (range_error){
- if (empty()==1)
- throw range_error ("kutyafule");
- int tmp=back();
- pop_back();
- return tmp;
- }
- bool empty() const{
- return deque<int>::empty() ;
- }
- int size(){
- return deque<int>::size();
- }
- void print(){
- iterator itr;
- for(itr = this->begin(); itr != end(); ++itr)
- cout<<*itr<<endl;
- }
- };
- class Szamologep:private Verem{
- public:
- Szamologep(int n,int val) :Verem (n,val){}
- void osszead(){
- int tmp1,tmp2;
- tmp1=back();
- pop();
- tmp2=back();
- pop();
- push((tmp1+tmp2));
- }
- void szoroz(){
- int tmp1,tmp2;
- tmp1=back();
- pop();
- tmp2=back();
- pop();
- push((tmp1*tmp2));
- }
- void oszt() {
- int op1 = pop();
- int op2 =pop();
- if (op1 == 0) throw ("Szamologep::oszt - nullával oszt");
- push(op2/op1);
- }
- void kiir(){
- cout<<back()<<endl;
- }
- void operator >>(int a){
- push(a);
- }
- };
- int main(){
- try{
- Szamologep sz1(3,4);
- sz1>>8;
- cout<<"eredeti tomb:"<<endl;
- //sz1.print();
- //cout<<"eddig"<<endl;
- sz1.osszead();
- //sz1.print();
- sz1.kiir();
- //cout<<"eddig"<<endl;
- sz1>>0;
- sz1.oszt();
- //sz1.print();
- }catch (range_error) {cout<<"HIBA:"<<endl;}
- catch (char*s) {cout<<"malacfej"<<s<<endl; }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement