关于c++的编程问题
巴扎黑
巴扎黑 2017-04-17 11:48:48
0
2
678

(4) 定义一个分数类如下,要求实现各个成员函数,并在主函数中测试两个分数的加减乘除等运算。

cppclass Rational
{
public:
    Rational(int nn=1,int mm=1);          //构造函数
    Rational  R_add(Rational & A);    //加
    Rational  R_sub(Rational & A);    //减
    Rational  R_mul(Rational & A);    //乘
    Rational  R_p(Rational & A);    //除 
    void print();        //以简分数形式显示,注意约分
private:
void simple( );      //约分
    int m;            //分母
    int n;             //分子
};
巴扎黑
巴扎黑

全部回覆(2)
左手右手慢动作
cppclass Rational{
    public:
    Rational(int nn=1,int mm=1){
        this->n=nn;
        this->m=mm;
        this->simple();
    }; //构造函数
    Rational R_add(Rational & A){
        return *new Rational(this->n * A.m + A.n*this->m,this->m * A.m);
    }; //加
    Rational R_sub(Rational & A){
        return *new Rational(this->n * A.m - A.n*this->m,this->m * A.m);
    }; //减
    Rational R_mul(Rational & A){
        return *new Rational(this->n * A.n,this->m * A.m);
    }; //乘
    Rational R_p(Rational & A){
        return *new Rational(this->n * A.m,this->m * A.n);
    }; //除
    void print(){
        std::cout << this->n << "/" << this->m << endl;
    }; //以简分数形式显示,注意约分
    private:
    void simple( ){
        int limit = this->m > this->n ? this->n : this->m;
        for(int i=limit;i>1;i--){
            if(this->m%i==0 && this->n%i==0){
                this->m /= i;
                this->n /=i;
                break;
            }
        }
    }; //约分
    int m; //分母
    int n; //分子
};

使用方法:

cpp    // 示例
    Rational* a= new Rational(4,10);  // 2/5
    Rational* b= new Rational(7,20);  // 7/20
    a->R_add(*b).print();  // 3/4
    a->R_sub(*b).print();  // 1/20
    a->R_mul(*b).print();  // 7/50
    a->R_p(*b).print();  // 8/7

看這弱智問題應該像是學校C++教科書的作業吧,大哥你作業也要人代勞,這真的好麼? ?

黄舟

haha這個上機題隨便上網一搜不都是結果麼。還用來問麼。 。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!