zoukankan      html  css  js  c++  java
  • c++作业-8

    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();
    }
    
  • 相关阅读:
    《大道至简》读后感
    PowerBuilder学习笔记之1开发环境
    PowerBuilder学习笔记之14用户自定义对象
    查询数据库大小的代码
    JAVA基础_修饰符
    SQLSERVER查询存储过程内容
    Asp.Net WebAPI中Filter过滤器的使用以及执行顺序
    运算符
    判断(if)语句
    变量的命名
  • 原文地址:https://www.cnblogs.com/nowheretrix/p/8982880.html
Copyright © 2011-2022 走看看