码迷,mamicode.com
首页 > 编程语言 > 详细

c++作业-8

时间:2018-05-02 22:44:05      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:--   derived   条件   tor   names   pre   pac   this   重载   

8-7

实现++ --的运算符,同时重载前后缀

#include<bits/stdc++.h>
using namespace std;
class point{

    public:
    point(int a=0,int b=0):x(a),y(b){    
    }
    point operator++ (){
          x++;y++;
          return *this;
    }//前置 
    point operator++(int) {
        point z=*this;
        ++(*this);
        return z;
    }
    point operator-- (){
          x--;y--;
          return *this;
    }
    point operator--(int) {
        point z=*this;
        --(*this);
        return z;
    }
    void show(){
        cout<<x<<" "<<y<<endl;
    }

    int x,y;
}; 
int main(){
    point k(1,1);
    cout<<"k++ show:"<<endl;
    (k++).show();
    cout<<"++k show:"<<endl;
    (++k).show();
    cout<<"--k show:"<<endl;
    (--k).show();
    cout<<"k-- show:"<<endl;
    (k--).show();

}

8-8

观察实现虚函数及其派生的条件

#include<bits/stdc++.h>
using namespace std;
class BaseClass{
    public:
        virtual void fn1(){
            cout<<"Base Class fn1"<<endl;
        }
        void fn2(){
            cout<<"Base Class fn2"<<endl;
        }
}; 
class DerivedClass:public BaseClass{
    public:
        void fn1(){
            cout<<"Derived Class fn1"<<endl;
        }
        void fn2(){
            cout<<"Derived Class fn2"<<endl;
        }
};
int main(){
  DerivedClass    k;
  BaseClass *k1=&k;
  k1->fn1();
  k1->fn2();
  DerivedClass *k2=&k;
  k2->fn1();
  k2->fn2();
}

8-10

在point的友元函数上重载’+‘

#include<bits/stdc++.h>
using namespace std;
class point{
    public :
    point(int a=0,int b=0):x(a),y(b){
    }
    friend point operator+( point k1, point k2);
    void show();
    private :
        int x,y;
}; 
void point::show(){
    cout<<x<<" "<<y<<endl;
}
point operator+( point k1, point k2){
    return point(k1.x+k2.x,k1.y+k2.y);
}
int main(){
    point k1(1,2),k2(2,3),k3;
    k3=k1+k2;
    k1.show();
    k2.show();
    k3.show();
}

c++作业-8

标签:--   derived   条件   tor   names   pre   pac   this   重载   

原文地址:https://www.cnblogs.com/nowheretrix/p/8982880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!