设计一个分数类Fraction。该类的数据成员包括分子fz和分母fm;类中还包括如下成员函数: (1)构造函数,用于初始化分子和分母。 (2)成员函数print,将分数以 "fz/fm" 的形式输出。 (3)成员函数Reduction,用于对分数的分子和分母进行约分。 再编写主函数对该类进行测试。

设计一个分数类Fraction。该类的数据成员包括分子fz和分母fm;类中还包括如下成员函数: (1)构造函数,用于初始化分子和分母。 (2)成员函数print,将分数以 "fz/fm" 的形式输出。 (3)成员函数Reduction,用于对分数的分子和分母进行约分。 再编写主函数对该类进行测试。


参考答案和解析
<fstream>;friend;s

相关考题:

使用VC++6.0打开考生文件夹下的源程序文件3.cpp,其中定义了类A、A1和A2,其中A1类由A类公有派生,A2类由A1类公有派生。 (1)定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中请将x赋值给数据成员a。请在注释“//********1********”之后添加适当的语句。 (2)定义类A1的构造函数,该构造函数有两个整型的参数x和y,在构造函数中请将x赋值给数据成员b,将y作为基类A构造函数的参数值传人。请在注释“//********2********”之后添加适当的语句。 (3)定义类A2的构造函数,该构造函数有3个整型的参数x,y和z,在构造函数中请将x赋值给数据成员C,将y和z分别赋值给基类A1构造函数的参数x和y。请在注释“//********3********”之后添加适当的语句。 (4)完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身的数据成员C的值,上述3个值在输出时以空格隔开。请在注释“//********4********”之后添加适当的语句。 程序输出结果如下: 7 3 738 注意:除在指定的位置添加语句之外,请不要改动程序的其他部分。 试题程序: includeiostream.h classA { inta; public: //********1******** intgeta{returna;} }; classA1:publicA { intb; public: //********2******** intgetb{returnb;} }; classA2:publicA1 { intC; public: //****,****3******** voidshow { //********4******** } }; voidmain { A2a(8.3.7): couta.getaendl: couta.getbendl: a.show; }

关于静态成员,正确的说法是()。A、静态成员函数可以直接访问该类中的非静态成员B、非静态成员函数不能直接访问该类中的静态成员C、静态数据成员同其它数据成员一样通过构造函数进行初始化D、静态成员在任何对象创建之前就已经创建

可以在类的构造函数中对静态数据成员进行初始化。()

类的构造函数是在定义该类的一个( )时被自动调用执行的A: 成员函数B: 数据成员C: 对象D: 友元函数

()只能访问静态成员变量,静态成员函数和类以外的函数和数据不能访问类中的非静态成员变量。A、静态函数B、虚函数C、构造函数D、静态成员函数

静态数据成员在( )进行初始化。A.成员函数列表B.类体外C.构造函数D.成员函数

下列关于成员访问权限的描述中,不正确的是( )。A.公有数据成员和公有成员函数都可以被类对象直接处理B.类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问C.只有类或派生类的成员函数和友元函数可以访问保护成员D.保护成员在派生类中可以被访问,而私有成员不可以

类的构造函数被自动调用执行的情况发生在定义该类的______时。A.成员函数B.数据成员C.对象D.友元函数

在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是A.友元函数B.虚函数C.构造函数D.析构函数

类的构造函数被自动调用执行的情况发生在定义该类的(42)时。A.成员函数B.数据成员C.对象D.友元函数

在C++中,类由数据成员和成员函数封装而成,每个成员都具有描述该成员可见性的访问控制属性,若某类的一个成员的访问控制属性是protected属性,这个成员(30)。A.只能被该类的成员函数访问B.只能被该类的成员函数和友元函数访问C.只能被该类的成员函数、友元函数和该类的派生类的成员函数防问D.不仅可以被该类的成员函数访问,而且还可以被该类的外部访问

对基类数据成员的初始化必须在派生类的( )中的成员初始化列表处执行。A.派生函数B.析构函数C.内联函数D.构造函数

有一类分数,每个分子与分母的和是100,如果分子减K、分母加K,得新的分数约分后等于2/3,其中K是正整数,则该类分数中分数值最小的是:

C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对()进行初始化,静态构造函数只能对静态成员进行初始化。A、静态成员B、静态成员和非静态成员C、非静态成员D、动态成员

若classB中定义了一个classA的类成员Aa,则关于类成员的正确描述是()A、在类B的成员函数中可以访问A类的私有数据成员B、在类B的成员函数中可以访问A类的保护数据成员C、类B的构造函数可以调用类A的构造函数做数据成员初始化D、类A的构造函数可以调用类B的构造函数做数据成员初始化

任何类必须显式定义该类的构造函数,以便对类成员初始化。

下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()A、基类构造函数—对象成员所在类的构造函数—派生类自己的构造函数初始化自定义数据成员B、基类构造函数—派生类自己的构造函数初始化自定义数据成员—对象成员所在类的构造函数C、派生类自己的构造函数初始化自定义数据成员—对象成员所在类的构造函数—基类构造函数D、对象成员所在类的构造函数—派生类自己的构造函数初始化自定义数据成员—基类构造函数

静态数据成员的初始化是在()中进行的。A、 构造函数B、 任何成员函数C、 所属类D、 全局区

下列关于类的包含描述正确的是()A、可以使用赋值语句对对象成员进行初始化B、可以使用“参数初始式”调用成员类的构造函数初始化对象成员C、被包含类可以访问包含类的成员D、首先执行自身构造函数,再调用成员类的构造函数

单选题下列哪一种顺序是派生类构造函数正确的调用其它构造函数顺序。()A基类构造函数—对象成员所在类的构造函数—派生类自己的构造函数初始化自定义数据成员B基类构造函数—派生类自己的构造函数初始化自定义数据成员—对象成员所在类的构造函数C派生类自己的构造函数初始化自定义数据成员—对象成员所在类的构造函数—基类构造函数D对象成员所在类的构造函数—派生类自己的构造函数初始化自定义数据成员—基类构造函数

单选题类的构造函数是在定义该类的一个()时被自动调用执行的。A成员函数B数据成员C对象D友元函数

单选题C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对()进行初始化,静态构造函数只能对静态成员进行初始化。A静态成员B静态成员和非静态成员C非静态成员D动态成员

单选题下列关于类的包含描述正确的是()A可以使用赋值语句对对象成员进行初始化B可以使用“参数初始式”调用成员类的构造函数初始化对象成员C被包含类可以访问包含类的成员D首先执行自身构造函数,再调用成员类的构造函数

单选题关于静态成员的描述中,错误的是(  )。A静态成员可分为静态数据成员和静态成员函数B静态数据成员定义后必须在类体内进行初始化C静态数据成员初始化不使用其构造函数D静态数据成员函数中不能直接引用非静态成员

判断题任何类必须显式定义该类的构造函数,以便对类成员初始化。A对B错

单选题静态数据成员在(  )进行初始化。A成员函数列表B类体外C构造函数D成员函数

单选题若classB中定义了一个classA的类成员Aa,则关于类成员的正确描述是()A在类B的成员函数中可以访问A类的私有数据成员B在类B的成员函数中可以访问A类的保护数据成员C类B的构造函数可以调用类A的构造函数做数据成员初始化D类A的构造函数可以调用类B的构造函数做数据成员初始化

单选题在C++中,编译系统自动为一个类生成缺省构造函数的条件是(  )。A该类没有定义任何有参构造函数B该类没有定义任何无参构造函数C该类没有定义任何构造函数D该类没有定义任何成员函数