zoukankan      html  css  js  c++  java
  • 实验6

    第一道题目的话,我是把A,B,C芯片当作基类,之后共同派生出来一个派生类(和A,B,C是一个的派生类不一样)(理解问题把)

    #include<iostream>
    using namespace std;
    class A{
    	public:
    		A(int i,int j){cout<<"i+j="<<i-j<<endl;
    		}
    };
    class B{
    	public:
    		B(int i,int j)
    		{
    			cout<<"i*j="<<i*j<<endl;
    		}
    };
    class C{
    	public:
    	 	C(int i ,int j)
    		{
    			if(j!=0)
    			{
    				cout<<"i/j="<<i/j<<endl;
    			 } 
    			else cout<<"错误输入"<<endl;
    		}
    };
    class G:public A,public B,public C{
    	public:
    		G(int i,int j):A(i,j),B(i,j),C(i,j){
    			cout<<"i+j="<<i+j<<endl;
    		}
    };
    int main()
    {
    	int a,b;
    	cout<<"输入i,j"<<endl;
    	cin>>a>>b;
    	G z(a,b);
    	return 0;
     } 
    

      

    第二条::

    #include<iostream>
    using namespace std;
    class vehicle{
    	public:
    		vehicle(int i,int j):maxspeed(i),weight(j){
    			if(i>0)
    			{
    				run();
    			}
    			if(i==0)
    			{
    				stop();
    			}
    		}
    		void run(){
    		cout<<"the maxspeed is   "<<maxspeed<<endl;
    		cout<<"the weight is   "<<weight<<endl;
    		cout<<"the vehicle is running"<<endl;
    		cout<<"*********************"<<endl;
    		}
    		void stop(){
    			cout<<"the vehicle is stopped  "<<endl;
    			cout<<"the maxspeed is 0  "<<endl;
    			cout<<"the weight is  "<<weight<<endl; 
    			cout<<"***********************"<<endl;
    		}
    		~vehicle(){
    			cout<<"over"<<endl;
    		}
    	private:
    		int maxspeed;
    		int weight;
    };
    class bicycle:virtual public vehicle{
    	public:
    		bicycle(int i,int j,int k):height(k),vehicle(i,j){cout<<"the height is"<<k<<endl;
    		cout<<"----------------"<<endl;
    		}
    		~bicycle(){cout<<"over"<<endl;
    		}
    		private:
    			int	height;
    };
    class motorcar:virtual public vehicle{
    	public:
    		motorcar(int i,int j,int k):seatnum(k),vehicle(i,j){
    			cout<<"the seatnum is    "<<k<<endl;
    			cout<<"---------------"<<endl;
    		}
    		~motorcar(){
    			cout<<"over"<<endl;
    		}
    	private:
    		int seatnum;
    };
    class  motorcycle:public motorcar,public bicycle{
    	public:
    		motorcycle(int i,int j,int k,int l):vehicle(i,j),bicycle(i,j,k),motorcar(i,j,l){
    		}
    };
    int main()
    {
    	bicycle A(2,3,4);
    	motorcar B(1,0,5);
    	cout<<"--------------"<<endl;
    	motorcycle Z(1,2,3,4);
    	return 0;
    }
    

      

    第三题::

    中间是把iFraction和iFraction中的convertF搞得有点混::

    #include<iostream>
    using namespace std;
    class Fraction{
    	public:
    		Fraction(int a=0,int b=1):zi(a),mu(b){
    		}
    		Fraction operator+(const Fraction&F2) const;
    		Fraction operator-(const Fraction &F2) const;
    		Fraction operator*(const Fraction&F2) const;
    		Fraction operator/(const Fraction &F2) const;
    		int getzi(){
    			return zi;
    		}
    		int getmu(){
    			return mu;
    		}
    		void display() const;
    	private:
    		int zi;
    		int mu;
    };
    class  iFraction:public Fraction{
    	public:
    		int i;
    		int j;
    		iFraction(int i,int j):i(i),j(j),Fraction(i,j){}
    	//	void convertF()
    	//	{
    	//		if(i>j)
    	//		{
    	//			cout<<"   ";
    	///			cout << i/j<<endl;
    	//			cout << i%j;
    	//			cout<<"----"<<endl;
    	//			cout<<"   ";
    	///			cout << j<<endl;
    	//		}
    	//		if(i==j)
    	//		{
    	//			cout<<i/j;
    	//		}
    	//		if(i<j)
    	//		{
    	//			putout();
    	//		}
    	//	}
    		void convertF()
    		{
    			int k;
    			k=i%j;
    			cout<<k<<"   ";
    			i=i/j;
    			Fraction A(i,j);
    			A.display() ;
    		}
    		void putout()
    		{
    			cout<<i<<endl;
    			cout<<"-"<<endl;
    			cout<<j<<endl;
    			cout<<"***********"<<endl;
    		}
    };
    class iiFraction:public Fraction{
    	public:
    		int i,j,k;
    		iiFraction(int k, int i,int j):k(k),Fraction(i,j)
    		{
    			if(k!=0)
    			{
    				cout<<k<<"   ";
    				cout<<" "<<i<<endl;
    				cout<< "    ---"<<endl;
    				cout<<"     "<<j<<endl;
    			}
    			if(k==0)
    			{
    				cout<<"   "<<i<<endl;
    				cout<<"  ---"<<endl;
    				cout<<"   "<<j<<endl;	
    			}
    		}
    };
    Fraction Fraction ::operator+ (const Fraction &F2)const{
    	return Fraction (zi*F2.mu+mu*F2.zi,mu*F2.mu);
    }
    Fraction Fraction:: operator- (const Fraction &F2)const{
    	return Fraction (zi*F2.mu-mu*F2.zi,mu*F2.mu);
    }
    Fraction Fraction ::operator* (const Fraction &F2)const{
    	return Fraction (zi*F2.zi,mu*F2.mu);
    }
    Fraction Fraction::operator/ (const Fraction &F2)const{
    	return Fraction (zi*F2.mu,mu*F2.zi);
    }
    void Fraction::display()const
    {
    	cout<<zi<<endl;
    	cout<<"   ---   "<<endl;
    	cout<<"    "<<mu<<endl;
    }
    int main()
    {
    	iiFraction A(0,2,3);
    	iiFraction(1,2,6);
    	Fraction F(2,4),F2(3,5),F3;
    //	F3=F-F2;
    //	F3.display();
    	F3=F*F2;
    //	F3.display();
    	iFraction X(10,4);
    	iFraction XX(F3.getzi(),F3.getmu());
    	XX.putout();
    	X.putout();
    	X.convertF();
    	return 0;
    }
    

      另外,分数的输出格式不怎么好= =,不会搞。。

  • 相关阅读:
    unity3d动态加载资源
    u3D大场景的优化
    C#代码规范
    游戏模型规范
    vue prop不同数据类型(数组,对象..)设置默认值
    vue-router实现页面的整体跳转
    Vue实现组件props双向绑定解决方案
    电脑连接并调试手机浏览器的网页
    对象里面的属性有值但是打印出来是空的,获取不到
    vue-cli sass安装
  • 原文地址:https://www.cnblogs.com/kakuiyjl/p/9152230.html
Copyright © 2011-2022 走看看