1、A)3 B)4 C)5 D)611.下列关于this指针的说法正确的是( B )A)this指针存在于每个函数之中B)在类的非静态函数中this指针指向调用该函数的对象C)this指针是指向虚函数表的指针D)this指针是指向类的函数成员的指针12.在下列关于C+函数的叙述中,正确的是( C )A)每个函数至少要有一个参数 B)每个函数都必须返回一个值C)函数在被调用之前必须先声明 D)函数不能自己调用自己13.下列运算符中,不能重载的是 ( C )A)& B)!= C). D)-14.下面程序的输出结果是( B )#include using namespace std;int i = 0;
2、int fun(int n) static int a = 2; a+; return a+n;void main() int k = 5; int i = 2; k += fun(i); k += fun(i); cout k;A)13 B)14 C)15 D)1615.下面的程序段的运行结果为( D )char str = job, *p = str;cout *(p+2) endl;A)98 B)无输出结果 C)字符b的地址 D)字符b16.下面程序的输出结果是( C )class A public: A (int i) x = i; void dispa () cout x “,”;
3、private : int x ;class B : public A B(int i) : A(i+10) x = i; void dispb() dispa(); B b(2); b.dispb();A)10,2 B)12,10 C)12,2 D)2,217.下面程序的输出结果是( C )class Base Base(int i) cout i; Base () class Base1: virtual public Base Base1(int i, int j=0) : Base(j) cout Base1() class Base2: Base2(int i, int j=0) :
4、 Base2() class Derived : public Base2, public Base1 Derived(int a, int b, int c, int d) : mem1(a), mem2(b), Base1(c), Base2(d), Base(a) cout b; private: Base2 mem2; Base1 mem1;void main() Derived objD (1, 2, 3, 4);A)134122 B)123412 C)14302012 D)14321218.下面程序的输出结果是( C )class Base virtual void f() cou
5、t “f0+”; void g() cout “g0+”; public Base void f() cout f();g();A)f+g+ B)f0+g+ C)f+g0+ D)f0+g0+19.下面程序的输出结果是( C )class Sample friend long fun (Sample s) if (s.x 2) return 1; return s.x * fun(Sample(s.x-1); Sample (long a) x = a; long x;void main() int sum = 0; for (int i=0; i4; i+) sum += fun(Sample
6、(i); sum; A)12 B)16 C)10 D)3420.以下程序的输出结果是:(D )int fun(char *s) char *p=s;while (*p!=0) p+;return (p-s);void main()coutfun(abc)endl;A0 B. 1 C. 2 D. 321.有如下程序段:int i=1;while(1)i+;if (i=10) break;if(i%2=0) coutGetValue() D) x.GetValue( )25.假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( A )。A) int AA
7、:a( ) B) int AA:a() C) AA:a() D) AA:int a()26.有如下程序:#includeclass Testpublic:Test() Test()cout#;int main()Test temp2, *pTemp2;return 0;执行这个程序输出星号(#)的个数为(B )。A)1 B)2 C)3 D)427.有如下程序:class MyClass MyClass(int i=0)cout1;MyClass(const MyClass&x)cout2;MyClass& operator=(const MyClass&3; return *this; MyC
8、lass()coutMyClass obj1(1),obj2(2),obj3(obj1);obj1=obj2;运行时的输出结果是( A)。A)1123444 B)11114444 C)121444 D)1131444428.有如下程序: #include 1)int f(int);int n,s; coutn; s= f(n) ;The result is s return 0;int f(int n) /递归法求立方和函数 if ( n=1 ) return 1; else return ( f(n-1)+n*n*n );3. 请将下列程序补充完整,使得输出结果为“Destructor De
9、rived Destructor Base”。 virtual Base () cout “Destructor Base” Derived() cout “Destructor Derived” class CD char name20; int number; void Init(char* aa, int bb) strcpy(name,aa); number=bb; char* Getname () return name; int Getnumber () return number; void Output() cout name number CD dx; CD dy; dx.I
10、nit(歌唱祖国,30); dy.Init(义勇军进行曲,3*dx.Getnumber ()+5); dx.Output(); dy.Output();歌唱祖国 30义勇军进行曲 952#include using namespace std; int f(int a) return +a; int g(int& a) void main() int m=0,n=0; m+=f(g(m); n+=f(f(n);m=mn=n3. #include class Demo Demo()coutdefault constructorn Demo(const Demo © constructornDemo userCode(Demo b)Demo c(b);return c; Demo a,d;calling userCode()n d = userCode(a);执行上面的程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数分别是多少次?五、编写程序1、编写函数计算y=1!+2!+3!.n! ,n作为参数传递,在主函数调用该函数并输出结果。2、编写函数找出二维数组(5*4)中元素的最大值与最小值,并返回其最大值与最小值。测试结果。3、编写一个三角形类,有计算面积,显示面积的功能等,并测试。要求有参数的构造函数及复制构造函数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1