C++编程题 定义一个有理数类。
有理数表示成两个相除的整数,如1/2,64/2等(对于这类表达式,理解为普通分数,非C++程序中造成整数除法的表达式)有理数表示成int类的两个值,一个表示分子,一个表示...
有理数表示成两个相除的整数,如1/2,64/2等(对于这类表达式,理解为普通分数,非C++程序中造成整数除法的表达式)有理数表示成int类的两个值,一个表示分子,一个表示分母。类名为Rational。
先包括一个接受2个参数的构造函数,该构造函数可将一个对象的成员变量设为任何合法的值。然后再包括一个接受单个int参数的构造函数,讲这个单独的参数命名为whole_number,并定义构造函数,使对象初始化成有理数whole_number/1。再包括一个默认构造函数,用来初始化对象为0(也就是0/1)。重载输入和输出操作符。数字以1/2,15/32,这样的形式来输入和输出。注意分子、分母可能包括接好,所以必须支持像-1/2,155/-32,-300/-401这样的输入。重载:==,<,<=,>,>=,+,-,*,/。使它们能正确支持Rational类型。写一个测试程序来测试这个类。
麻烦了 展开
先包括一个接受2个参数的构造函数,该构造函数可将一个对象的成员变量设为任何合法的值。然后再包括一个接受单个int参数的构造函数,讲这个单独的参数命名为whole_number,并定义构造函数,使对象初始化成有理数whole_number/1。再包括一个默认构造函数,用来初始化对象为0(也就是0/1)。重载输入和输出操作符。数字以1/2,15/32,这样的形式来输入和输出。注意分子、分母可能包括接好,所以必须支持像-1/2,155/-32,-300/-401这样的输入。重载:==,<,<=,>,>=,+,-,*,/。使它们能正确支持Rational类型。写一个测试程序来测试这个类。
麻烦了 展开
2个回答
展开全部
1 有理数类
class Fraction
{
private:
int _Numerator; //分子
int _Denominator; //分母
public:
Fraction(){}
Fraction(const int& Numerator,const int& Denominator);
friend Fraction& operator+(const Fraction& frac1,const Fraction& frac2);
friend Fraction& operator-(const Fraction& frac1,const Fraction& frac2);
friend Fraction& operator*(const Fraction& frac1,const Fraction& frac2);
friend Fraction& operator/(const Fraction& frac1,const Fraction& frac2);
bool operator<(const Fraction& frac);
bool operator>(const Fraction& frac);
bool operator==(const Fraction& frac);
bool operator!=(const Fraction& frac);
void simp();
friend ostream& operator<<(ostream& out,Fraction& frac);
};
2 包含类
class A
{
class B // B类属于A类的成员
{
//成员
};
//A类的其他成员
};
3 派生类
class A
{
};
//Book是从PrintedDocument中派生的
class B:A
{
//成员表
};
希望对你有所帮助!
class Fraction
{
private:
int _Numerator; //分子
int _Denominator; //分母
public:
Fraction(){}
Fraction(const int& Numerator,const int& Denominator);
friend Fraction& operator+(const Fraction& frac1,const Fraction& frac2);
friend Fraction& operator-(const Fraction& frac1,const Fraction& frac2);
friend Fraction& operator*(const Fraction& frac1,const Fraction& frac2);
friend Fraction& operator/(const Fraction& frac1,const Fraction& frac2);
bool operator<(const Fraction& frac);
bool operator>(const Fraction& frac);
bool operator==(const Fraction& frac);
bool operator!=(const Fraction& frac);
void simp();
friend ostream& operator<<(ostream& out,Fraction& frac);
};
2 包含类
class A
{
class B // B类属于A类的成员
{
//成员
};
//A类的其他成员
};
3 派生类
class A
{
};
//Book是从PrintedDocument中派生的
class B:A
{
//成员表
};
希望对你有所帮助!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |