MyClass operator*(double,double);
MyClass operator*(double,MyClass);
MyClass operator*(MyClass,double);
MyClass operator*(MyClass,MyClass);
第1题:
( 29 )已知类 MyClass 声明如下:
class MyClass{
int n;
public;
MyClass ( int k ) : n ( k ) {}
int getValue () const{return n;}
};
在下列数组定义中正确的是
A ) MyClass x1[2];
B ) MyClass x2[2]={new MyClass ( 1 ) , new MyClass ( 2 ) };
C ) MyClass *x3[2];
D ) MyClass *x4[2]={MyClass ( 1 ) , MyClass ( 2 ) };
第2题:
下列是重载乘法运算符的函数原型声明,其中错误的是
A.MyClass operator * (double, double);
B.MyClass operator * (double, MyClass);
C.MyClass operator * (MyClass, double);
D.MyClass operator * (MyClass, MyClass);
第3题:
假定MyClass 为一个类,则该类的拷贝构造函数的声明语句为 ( )。
A.MyClass& (MyClass x);
B.MyClass (MyClass x);
C.MyClass(MyClass &x);
D.MyClass (MyClass *x);
第4题:
假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。
A.void~MyClass();
B.~MyClass(int n)
C.MyClass();
D.~MyClass();
第5题:
假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )
A.MyClass&(MyClass x);
B.MyClass(MyClass x)
C.MyClass(MyClass &x);
D.MyClass(MyClass *x)
第6题:
下面重载乘法运算符的函数原型声明中错误的是( )
A.TestClass operator *(MyClass,double);
B.TestClass operator *(double,MyClass);
C.TestClass operator *(double,double);
D.TestClass operator *(MyClass,MyClass);
第7题:
有以下程序#include <iostream>using namespace std;class MyClass{public: MyClass(int n) { number=n; } //拷贝的构造函数 MyClass(MyClass& other) {number=other. number; } ~MyClass() { }private: int number;};MyClass fun(MyClass p){ MyClass temp(p); return temp;}int main() MyClass obj 1 (10), obj 2(0); MyClass obi 3 (obj 1); obj2=fun(obj3); return 0;}程序执行时,MyClass 类的拷贝构造函数被调用的次数是( )。
A.5
B.4
C.3
D.2
第8题:
假定MyClass 为一个类,则该类的拷贝构造函数的声明语句为( )。
A.MyClass& (MyClass x);
B.MyClass (MyClass.x);
C.MyClass (MyClass &x);
D.MyClass (MyClass *x);
第9题:
有以下程序 #include<iostream> using namespace std; class MyClass { public: MyClass(int n){number =n; } //拷贝构造函数 MyClass(MyClass& other) {number=other.number;} ~MyClass() {} private: int number; }; MyClass fun(MyClass p) { MyClass temp(p); return temp; } int main() { MyClass Obj1(10),obj2(0); MyClass obj3(obj1); obj2=fun(obj3); return 0; } 程序执行时,MyClass类的拷贝构造函数被调用的次数是
A.5
B.4
C.3
D.2
第10题:
在MyClass类的定义中,对赋值运算符=进行重载。请将横线处缺失的部分补充完整。
______MyClass::operator=(const MyClass&rhs)
{
if(this==&rhs)return*this;
value=rhs.value;
return*this;
}
第11题:
如果类名为Myclass,那么()可以作为它的构造函数。
第12题:
MyClass&(MyClass x);
MyClass(MyClass x);
MyClass(MyClass&x);
MyClass(MyClass*x);
第13题:
( 22 )要定义一个引用变量 p ,使之引用类 MyClass 的一个对象,正确的定义语句是
A ) MyClass p=MyClass;
B ) MyClass p=new MyClass;
C ) MyClass &p=new MyClass;
D) MyClass a , &p=a;
第14题:
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为
A.MyClass&(MyClassx);
B.MyClass(MyClassx);
C.MyClass(MyClass &x);
D.MvClass(MyClass *x);
第15题:
有如下类定义: class MyClass { public: private: ______________________________________ int data; }; 若要为MyClass类重载流输入运算符“>>”,使得程序中可以“cin>>obj;”的形式改变MyClass类的对象0bj中数据成员data的值,则横线处的声明语句应为( )。
A.friend istream& operator>>(istream&is,MyClass&A.;
B.friend istream&operator>>(istream&is,MyClass A.;
C.istream&operator>>(istream&is,MyClass&A.;
D.istream&operator>>(istream&is,MyClass A.;
第16题:
下列是重载乘法运算的函数原型声明,其中错误的是
A.MyClass operator*(double,double);
B.MyClass operator*(double,MyClass);
C.MyClass operator*(MyClass,double);
D.MyClass operator*(MyClass,MyClass);
第17题:
假定MyClass为一个类,则该类的拷贝构造函数的声明语句为( )
A.MyClass(MyClass x);
B.MyClass(MyClass&x);
C.MyClass(&x);
D.MvClass(x);
第18题:
有如下类定义: classMyClass( public: ____ private: intdata; }; 若要为Myclass类重载流输入运算符>>,使得程序中可以“cin>>obj;”形式输入MyClasS类的对象obj,则横线处的声明语句应为( )。
A.friendistream&operator>>(istream&is,MyClass&a);
B.friendistream&operator>>(istream&is,MyClassa);
C.istream&operalor>>(istream&is,MyClass&a);
D.istream&operator>>(istream&is,Myclassa);
第19题:
下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。
class Myclass {
public:
Myclass(int num);
~ Myclass( );
public:
int *p;
};
Myclass: :Myclass( int hum) {
【 】
Myclass:: ~ Myelass( ) {
【 】;
}。
第20题:
下列是重载乘法运算符的函数原型声明,其中错误的是( )。
A.MyClass operator*(double,double);
B.MyClass operator*(double,MyClass);
C.MyClass operator*(MyClass,double);
D.MyClassoperator*(MyClass,MyClass);
第21题:
以下程序的执行结果为( )。 #include<iostream.h> class myClass { Dublic: myClass(int data) ; myClass(){value=0; }; myClass(myClass &obj); void print(){ cout<<value<<end1; } ~myClass(){} private: int value; }; myClass::myClass(int data) {value=data; } myClass::myClass(myClass &Obj) { value=obj.value; } void main() { myClass a(100); myClass b(a) ; b.print(); }
A.0
B.100
C.10
D.程序编译时出错
第22题:
在MyClass类的定义中,对赋值运算符二进行重载。请将画线处缺失的部分补充完整。【 】MyClass::operator=(const MyClass& rhs)
{
if(this==&rhs)return *this;
value=rhs.value;
return *this;
}
第23题:
MyClass类的默认构造方法是哪一个?()
第24题:
MyClass operator*(double,double);
MyClass operator*(double,MyClass);
MyClass operator*(MyClass,double);
MyClass operator*(MyClass,MyClass);