设计一个分数类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.保护成员在派生类中可以被访问,而私有成员不可以
在C++中,类由数据成员和成员函数封装而成,每个成员都具有描述该成员可见性的访问控制属性,若某类的一个成员的访问控制属性是protected属性,这个成员(30)。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静态数据成员函数中不能直接引用非静态成员
单选题若classB中定义了一个classA的类成员Aa,则关于类成员的正确描述是()A在类B的成员函数中可以访问A类的私有数据成员B在类B的成员函数中可以访问A类的保护数据成员C类B的构造函数可以调用类A的构造函数做数据成员初始化D类A的构造函数可以调用类B的构造函数做数据成员初始化
单选题在C++中,编译系统自动为一个类生成缺省构造函数的条件是( )。A该类没有定义任何有参构造函数B该类没有定义任何无参构造函数C该类没有定义任何构造函数D该类没有定义任何成员函数