创建一个类,为该类定义三个构造函数,分别执行下列操作: (1)传递两个整数值并找出其中较大的一个值 (2)传递三个double值并求出其乘积 (3)传递两个字符串值并检查其是否相同 (4)在main方法中测试构造函数的调用
创建一个类,为该类定义三个构造函数,分别执行下列操作: (1)传递两个整数值并找出其中较大的一个值 (2)传递三个double值并求出其乘积 (3)传递两个字符串值并检查其是否相同 (4)在main方法中测试构造函数的调用
参考答案和解析
错误
相关考题:
假定CTest为一个类,并且有一无默认值的的有参构造函数和一无参构造函数,则执行“CTest objTest;”语句时将自动调用该类的( )。 A.有参构造函数B.无参构造函数C.复制构造函数D.赋值构造函数
使用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; }
使用VC6打开考生文件夹下的工程test30_3。此工程包含一个test30_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的构造函数,该构造函数有三个整型的参数x,y和2,在构造函数中请将x赋值给数据成员c,将y和z分别赋值给基类A1构造函数的参数x和y。请在注释“//**3**”之后添加适当的语句。(4)完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和b及类A2自身的数据成员c的值,上述三个值在输出时以空格隔开。请在注释“//**4**”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。程序输出结果如下:96962源程序文件test30_3.cpp清单如下:include <iostream.h>class A{int a;public://** 1 **int geta() {return a;}};class A1:public A{int b;public://** 2 **int getb() {return b;}};class A2:public A1{int c;public://** 3 **void show(){//** 4 **}};void main(){A2 a(2,6,9);cout<<a.geta ( ) <<end1;cout<<a, getb ( ) <<end1;a. show( );}
以下各项说法中,正确的是( )。A.当通过引用传递参数时,函数创建一个变量以存储参数的值B.当通过引用传递参数时,函数无法访问参数的值C.当通过引用传递参数时,调用程序创建一个临时变量以容纳参数的值D.当通过引用传递参数时,函数访问调用程序中参数的原始值
使用VC6打开考生文件夹下的工程test11_3。此工程包含一个test11_3.cpp,其中定义了类CPosition,但该类的定义都并不完整。请按要求完成下列操作,将类CPosition的定义补充完整。(1)在类定义外完成重载的两个构造函数CPosition()和CPosition(double dx,double dy),其中前者为不带参数的构造函数,使CPosition对象的默认值为x=0,y=0,后者为带参数的构造函数,把数据成员x和y分别初始化为参数dx和dy的值。请在注释“//**1**”之后添加适当的语句。(2)在类体中添加函数move(double ax,double ay)的定义,使得点的坐标x和y分别移动ax和ay个单位,请在注释“// **2**”之后添加适当的语句。(3)完成函数double distance (double bx,double by)的定义,该函数返回*this和点(bx,by)的距离,请在注释“//**3**”之后添加适当的语句。注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。源程序文件test11_3.cpp清单如下:include<iostream.h>include<math.h>class CPosition{public:CPosition();CPosition(double dx,double dy);double getx();double gety();// ** 2 **double distance(double bx,double by);private:double x;double y;};// ** 1 **{x=0;y=0;}CPosition::CPosition(double dx,double dy){x=dx;y=dy;}double CPosition::getx(){return x;}double CPosition::gety(){return y;}double CPosition::distance(double bx,double by){// ** 3 **}void main(){double a,b;cout << "Input x, y position of a point:";cin >> a >> b;CPosition psA(a,b);cout << “Input x,y position of another point:";cin >> a >> b;cout << "The distance is " << psA.distance(a,b) <<endl;}
函数f()、g()的定义如下所示,调用函数f时传递给形参a的值为1,若采用传值(call by value)的方式调用g(c),则函数f的返回值为(1);若采用传引用(call by reference)的方式调用g(c),则函数f的返回值为(2)。A.7B.5C.4D.3
本题中定义了-个带有参数的构造方法javal( ),并定义了-个该类的对象temp。构造方法javal( )有两个参数:字符串name和整型age。定义对象temp时将字符串“Tom,,和整数17传递给构造方法,构造方法将这两个参数打印输出。
拷贝构造函数是用一个已知的对象为新创建的同类的对象赋初值,下列( )情况下它没有起作用。A.声明语句中,用一个对象初始化另一个对象。如point p2(p1);,其中:point为一个类, p2、p1为该类的两个对象,p1是一个已知的对象B.将对象作为函数实参传递给形参,用来初始化形参时C.当函数返回一个对象值,并用这个对象初始化一个匿名对象时D.调用对象的一个成员函数时
已知函数f(). G()的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用( call by reference)方式传递参数,则函数f的返回值为( );若g(a)采用值调用(.call by value)的方式传递参数,则函数f的返回值为( )。其中,表达式X>>1的含义是将x的值右移1位,相当于x除以2。A.35B.32C.11D.7A.35B.32C.11D.7
已知函数fl()、f2()的定义如下图所示设调用函数f1时传递给形参x的值是1,若函数调用f2(a)采用引用调用(call by refere nce)的方式传递信息,则函数n的返回值为 (32) ;若函数调用f2(a)以值调用(call liy value)的方式传递信息,则函数F1返回值为(33)。A.-5B.6C.15D.35
已知函数f132、f232的定义如下图所示。设调用函数f1时传递给形参x的值是1,若函数调用f2(a)采用引用调用(call by reference)的方式传递信息,则函数f1的返回值为(请作答此空);若函数调用f2(a)以值调用(call by value)的方式传递信息,则函数f1的返回值为( )。A.-5B.6C.15D.35
已知函数f()、g()的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(callbyreference)方式传递参数,则函数f的返回值为(请作答此空);若g(a)采用值调用(callbyvalue)的方式传递参数,则函数f的返回值( )。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以2。A.35B.32C.11D.7
在函数调用中,值调用方式将( ),下面所定义的函数foo为值调用方式,函数g的第一个参数采用值调用,第二个参数采用引用调用方式传递数据。若有表达式y=foo(2),则foo调用执行之后,y被赋值为(请作答此空)。A.8B.7C.5D.3
已知函数f( )、g( )的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(callbyreference)方式传递参数,则函数f的返回值为(1);若g(a)采用值调用(callbyvalue)的方式传递参数,则函数f的返回值(2)。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以2。2、______A.35B.32C.11D.7
已知函数f( )、g( )的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(callbyreference)方式传递参数,则函数f的返回值为(1);若g(a)采用值调用(callbyvalue)的方式传递参数,则函数f的返回值(2)。其中,表达式“x>>1”的含义是将x的值右移1位,相当于x除以2。1、____A.35B.32C.11D.7
函数f( )、g( )的定义如下所示。已知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为(请作答此空);若以传引用方式调用g,则函数f的返回值为( )。A.3B.4C.6D.7
下列关于拷贝构造函数的描述中,错误的是()。A、一个类可以定义多个拷贝构造函数B、若未定义拷贝构造函数,则系统会提供一个默认拷贝构造函数C、当类中有指针成员变量时,通常要为这个类定义一个拷贝构造函数来实现深拷贝D、拷贝构造函数中的参数按引用方式传递
关于线程的创建过程,下面四种说法正确的有哪些?()A、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的start()方法B、定义Thread类的子类,重写Thread类的run()方法,创建该子类的实例对象,调用对象的run()方法C、定义一个实现Runnable 接口的类并实现run()方法,创建该类实例对象,将其作为参数传递给Thread类的构造方法来创建Thread对象,调用Thread对象的start()方法D、定义一个实现Runnable 接口的类并实现run()方法,创建该类对象,然后调用run()方法
单选题函数f()、g()的定义如下所示。已知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为__(1)__;若以传引用方式调用g,则函数f的返回值为__(2)__。 空白(1)处应选择()A 3B 4C 6D 7
单选题函数f()、g()的定义如下所示。已知调用f时传递给其形参x的值是1,若以传值方式调用g,则函数f的返回值为__(1)__;若以传引用方式调用g,则函数f的返回值为__(2)__。空白(2)处应选择()A3B4C6D7
多选题关于类的构造函数,以下描述中正确的是()A当创建一个对象时,该对象的构造函数会被自动调用;B当创建一个对象时,需要指明是否调用该对象的构造函数;C同一个类可以有几个构造函数,各构造函数的参数必须不同;D同一个类可以有几个构造函数,各构造函数的参数必须相同;E构造函数的名称与类的名称相同;
单选题下列关于PB函数或事件的参数传递的论述错误的是()Avalue传递的参数,其值在函数或事件中可修改BReadonly传递的参数,其值在函数或事件不可修改CReference传递的参数,其值在函数或事件中可修改DReference传递的参数,其值在函数或事件中不可修改
问答题定义一个类,并完成对该类构造函数和析构函数的创建。