考题
下列关于构造函数和析构函数的描述,错误的是( )。A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数
考题
使用VC6打开考生文件夹下的工程test2_1,此工程包含一个源程序文件test2_1.cpp,但该程序运行有问题,请改正程序中的错误,使该程序的输出结果如下:调用基类BASE的构造函数:1调用基类BASE的构造函数:2调用派生类A的构造函数:3调用派生类A的析构函数调用基类BASE的析构函数调用基类BASE的析构函数源程序文什test2_1.cpp清单如下:include<iostream.h>class BASE{public:BASE(int i){cout<<"调用基类BASE的构造函数:"<<i<<endl;}~BASE(){cout<<"调用基类BASE的析构函数"<<endl;)/***************** found *****************/}class A:public BASE{public:/***************** found *****************/A(int a,int b):i(a),b(b){cout<<"调用派生类A的构造函数:"<<a+b<<endl;}~A(){cout<<"调用派生类A的析构函数"<<endl;)private:BASE b;};void main(){/****************found***************/BASE obj(1,2);}
考题
请编写函数fun(),该函数的功能是:将s所指字符串中 ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若s所指字符串中的内容为ABCDEFGl2345,其中字符B的ASCⅡ码值为偶数、…、字符2的ASCⅡ码值为偶数、…,都应当删除,其他依次类推。最后t所指的数组中的内容应是ACEGl35。注定:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序;include <stdio. h>include<string.h>include<conio. h>void fun(char *s, char t[]){}main ( ){char s[100],t [100];clrscr ();printf (,\nPlease enter string S: ");scanf ("%s", s);fun(s,t);printf ("\nThe result is :%s\n",t);}
考题
编写类 String 的构造函数、析构函数和赋值函数已知类 String的原型为:class String{public:String(const char *str = NULL); // 普通构造函数String(const String other); // 拷贝构造函数~ String(void); // 析构函数String perate =(const String other); // 赋值函数private:char *m_data; // 用于保存字符串};请编写 String的上述 4 个函数。
考题
下列关于析构函数的描述中,错误的是( )。A.类中有且仅有一个析构函数B.析构函数可以有形参C.析构函数没有函数类型D.析构函数对象消失时被自动执行
考题
下列关于构造函数和析构函数的描述,错误的是( )。A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数
考题
本例中,在点类、圆类、圆柱体类中增加析构函数定义,如果析构函数体里为空(无任何语句),则不影响程序的运行结果。
考题
下列对析构函数的描述正确的是()A.析构函数返回类型为voidB.析构函数无形参,也不能重载C.析构函数体内必须包含delete操作D.析构函数内不能包含循环
考题
下列关于析构函数描述正确的是:A.一个类中只能定义一个析构函数B.析构函数名与类名不同(不考虑~符号)C.析构函数只能定义在类内D.析构函数可以有一个或多个参数