首页 > 其他 > 详细

第六次作业

时间:2018-06-07 15:16:31      阅读:178      评论:0      收藏:0      [点我收藏+]
#ifndef ABC_H_
#define ABC_H_
using namespace std;
class ADD{
    public:
        void add(int x,int y);
    private:
        int m,n;
};
class A:public ADD{
    public:
        void substract(int x,int y);
    private:
        int m,n;
}; 
class B:public ADD{
    public:
        void multiply(int x,int y);
    private:
        int m,n;    
};
class C:public ADD{
    public:
        void division(int x,int y);
    private:
        int m,n;
};
#endif
#include"ABC.h"
#include<iostream>
using namespace std;
void ADD::add(int x,int y) {
    m=x;n=y;
    cout<<m+n;
}
void A::substract(int x,int y){
    m=x;n=y;
    cout<<m-n;
}
void B::multiply(int x,int y){
    m=x;n=y;
    cout<<m*n;
}
void C::division(int x,int y){
    m=x;n=y;
    cout<<m/n; 
}
#include<iostream>
#include"ABC.h"
using namespace std;
int main(){
    A a1;
    B b1;
    C c1;
    a1.add(2,3);
    cout<<endl;
    b1.multiply(3,4);
    cout<<endl;
    c1.division(4,2);
    return 0;
}

技术分享图片

#ifndef VEHICLE_H_
#define VEHICLE_H_
using namespace std;
class vehicle{
    public:
        vehicle(int x,int y):maxspeed(x),weight(y){cout << "maxseppd=" << maxspeed << endl<< "weight=  " << weight << endl;}; 
        void run(){ cout << "run" << endl; };
        void stop(){ cout << "stop" << endl; };
        ~vehicle(){}
    private:
        int maxspeed,weight;    
}; 
class bicycle:virtual public vehicle{
    public:
        bicycle(int x,int y,int z):vehicle(x,y),height(z){ cout << "height=" <<height << endl; };
        ~bicycle(){}
    private:
        int height;
};
class motorcar:virtual public vehicle{
    public:
        motorcar(int x,int y,int z):vehicle(x,y),seatnum(z){ cout << "seatnum=" <<seatnum << endl; };
        ~motorcar(){}
    private:
        int seatnum;
};
class motorcycle:public bicycle,public motorcar{
    public:
        motorcycle(int a, int b, int c, int d) :bicycle(a, b, c), motorcar(a, b, d) {};
};
#endif
#include<iostream>
#include"vehicle.h"
using namespace std;
int main(){
    motorcycle m1(1,2,3,4);
    m1.run();
    m1.stop();
    return 0;
}

技术分享图片

#include <iostream>
using namespace std;
class fraction{
    public:
        fraction(int x=0,int y=0):a(x),b(y){}
        fraction operator+ (fraction &f2)const;
        fraction operator- (fraction &f2)const;
        fraction operator* (fraction &f2)const;
        fraction operator/ (fraction &f2)const;
    private:
         int a;int b;
};
fraction fraction::operator+ (fraction &f2)const{
    return fraction(a+f2.a,b+f2.b);
}
fraction fraction::operator- (fraction &f2)const{
    return fraction(a-f2.a,b-f2.b);
}
fraction fraction::operator* (fraction &f2)const{
    return fraction(a*f2.a,b*f2.b);
}
fraction fraction::operator/ (fraction &f2)const{
    return fraction(a/f2.a,b/f2.b);
}
class ifraction:public fraction{
    public:
        void show(){
            cout<<a"和"b; 
        }
};
int main(){
    fraction f1(6,3);
    ifraction f2(9,3);
    return 0;
} 

最后一个代码说我的a,b定义为私有函数有问题 可我不知道为什么、
通过这次实验我明白了继承和派生在以后的代码的简洁方面有大用处,尤其是公司里面。

第六次作业

原文:https://www.cnblogs.com/lxy020508/p/9150603.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!