[计算机类试卷]国家二级C++机试(类和对象)模拟试卷7及答案与解析.doc
《[计算机类试卷]国家二级C++机试(类和对象)模拟试卷7及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(类和对象)模拟试卷7及答案与解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(类和对象)模拟试卷 7及答案与解析 一、选择题 1 下列情况中,不会调用拷贝构造函数的是 ( )。 ( A)用一个对象去初始化同一类的另一个新对象时 ( B)将类的一个对象赋值给该类的另一个对象时 ( C)函数的形参是类的对象,调用函数进行形参和实参结合时 ( D)函数的返回值是类的对象,函数执行返回调用时 2 有如下程序 #inc1ude iostream #inc1ude iomanip using namespace std; class Myclass public: Myclass()cout A; Myclass(char c) cout c, Myclass(
2、)cout B; ; int main() Myclass p1, *p2; p2= newMyclass(X); delete p2; return 0; 执行这个程序屏幕上将显示输出 ( )。 ( A) ABX ( B) ABXB ( C) AXB ( D) AXBB 3 有如下程序: #inc1ude iostream using namespace std; class test private: int a; public: test0 cout+“constructor“+end1; test(int a)cout+a+endl; test(const test&test) a=
3、test a; cout+, copy constructor“+endl; test() Cout+“destructor“+end1; ; int main() test A(3); return 0; 运行时输出的结果是 ( )。 ( A) 3 ( B) constructordestructor ( C) copy constructor ( D) 3destructor destructor 4 对于一个类定义,下列叙述中错误的是 ( )。 ( A)如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数 ( B)如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数 ( C)
4、如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数 ( D)如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数 5 有如下程序: #inc1ude iostream using namespace std; class Part public: Part(int x=0): val(x) cout val; Part()cout val; prlVate: int va1: ; c1Iass Whole public: Wh01e(int x, int y, int z=0): p2(x), pl(y), Val(z)cout Val; Who1e()cout
5、 Val; ) priVate: Parrt p1, p2; int va1: ; int main() Whole obj(1, 2, 3); return 0: 程序的输出结果是 ( )。 ( A) 123321 ( B) 213312 ( C) 213 ( D) 123123 6 有如下程序: #inc1ude iostream using namespace std; class Base public: Base(int x=0)cout x; ; class DeriVed: public Base public: Derived(int x=0)cout x; private:
6、Base val: ; int main() Derived d(1); return 0; 程序的输出结果是 ( )。 ( A) 0 ( B) 1 ( C) 01 ( D) 001 7 有如下类定义: class Myclass Int value: pUblic; Myclass(int n): Value(n) int gerValue()constretum Value; ; 则类 Myclass的构造函数的个数是 ( )。 ( A) 1个 ( B) 2个 ( C) 3个 ( D) 4个 8 在 C+中,编译系统自动为一个类生成缺省构造函数的条件是 ( )。 ( A)该类没有定义任何有
7、参构造函数 ( B)该类没有定义任何无参构造函数 ( C)该类没有定义任何构造函数 ( D)该类没有定义任何成员函数 9 有如下程序: #inc1ude iostream using namespace std; class Sample public: Sample() Sample() cout *; ) ; int main() Sample temp2, *pTemp2; return 0; 执行这个程序输出星号 (*)的个数为 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 10 有如下程序: #inc1ude iostream using namespace st
8、d; class Myclass public: Myclass(int i: 0) cout1; Myclass(const MyQlass&x) cout 2; Myclass& operator=(const Myclass&x) cout 3; return*this; Myclass() cout 4; ; int main() Myclass obj1(1), obj 2(2), obj 3(obj1); return 0: 运行时的输出结果是 ( )。 ( A) 112444 ( B) 11114444 ( C) 121444 ( D) 11314444 11 有如下程序: #i
9、nc1ude iostream #inc1ude cstring using namespace std; class XCF int a; public: XCF (int aa=0): a(aa)cout “1“; XCF(XCF&x)a=x a; cout “2“; XCF()cout a; int Geta()return a; ; int main() XCF dl(5), d2(dl); XCF *pd=new XCF(8); cout pd一 Geta(); delete pd; return 0: 运行时的输出结果是 ( )。 ( A) 1215588 ( B) 1218855
10、 ( C) 12185 ( D) 128512 12 有如下程序: #inc1ude iostream using namespace std; class ONE int C: public: ONE(): c(0)cout 1; ) ONE(int n): c(n)cout 2; ) ; class TWO ONE one1; ONE one2; public: TWO(int m): one2(m)cout 3; ; int main() TWO t(4); return 0: 运行时的输出结果是 ( )。 ( A) 3 ( B) 23 ( C) 123 ( D) 213 13 Samp
11、le是一个类,执行下面语句后,调用 Sample类的构造函数的次数是( )。 Sample a2, *P=new Sample; ( A) 0 ( B) 1 ( C) 2 ( D) 3 14 有如下程序: #inc1ude iostream using namespace std; class Toy public: Toy(char* _n) strcpy(name, _n); count+, Toy()count-, char* GetName() return name, static int getCount() return count; ) private: char name10
12、;, static int count, ; int Toy: count=0; int main() Toy tl(“Snoopy“), t2(“Mickey“), t3(“Barbie“); cout t1 getCount() endl; return 0; 运行时的输出结果是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D)运行时出错 15 有如下程序: #inc1ude iostream using namespace std; class Name char name20; public: Name() strcpy(name, “); cout ?; Name(cha
13、r *fname) strcpy(name, fname); cout ?; ; int main() Name names3= Name(“张三 “), Name(“李四 “); return 0; 运行此程序输出符号?的个数是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 16 有如下程序 #inc1ude iostream using namespace std; class Test public: Test() Test(const Test&t)cout 1, ; Test fun(Test &u) Test t=u; return t; int main()
14、Test x, y; x=fun(y); return 0; 运行这个程序的输出结果是 ( )。 ( A)无输出 ( B) 1 ( C) 11 ( D) 111 17 若 Myclass为一个类,执行 “Myclass a4, *p5; ”语句时会自动调用该类构造函数的次数是 ( )。 ( A) 2 ( B) 5 ( C) 4 ( D) 9 18 有如下程序: #inc1ude iostream using namespace std; class CD public: CD()cout C; ) private: char name80; ; int main() CD a, *b, d2;
15、 return 0; 运行时的输出结果是 ( )。 ( A) CCCC ( B) CCC ( C) CC ( D) C 19 有如下程序: #inc1ude iostream using namespace std; class XA int a; public: static int b; XA(int aa): a(aa)b+; XA() int get() return a; ; int XA: b =0; int main() XA dl(2), d2(3); cout dl get()+d2 get()+XA: b endl; return 0: 运行时的输出结果是 ( )。 ( A
16、) 5 ( B) 6 ( C) 7 ( D) 8 20 下列关于析构函数的描述中,错误的是 ( )。 ( A)析构函数可以重载 ( B)析构函数由系统自动调用 ( C)每个对象的析构函数只被调用一次 ( D)每个类都有析构函数 21 下列关于构造函数的描述中,错误的是 ( )。 ( A)构造函数名与类名相同 ( B)构造函数可以有返回值 ( C)构造函数可以重载 ( D)每个类都有构造函数 22 若 PAT是一个类,则程序运行时,语句 “PAT*ad) 3; ”,调用 PAT的构造函数的次数是( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 23 有如下程序: #inc1ude
17、 iostream using namespace std; class Myclass public: Myclass () cout *; Myclass (Myclass&a) cout #; Myclass() cout ; ; int main(), Myclass a; Myclass b(a); return 0: 运行时的输出结果是 ( )。 ( A) *# ( B) #* ( C) *# ( D) #* 24 有如下程序: #inc1ude iostream using namespace std; class Monkey public: Monkey() cout M;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 对象 模拟 答案 解析 DOC
