C++试卷
第321题
有如下程序,运行时输出的结果是()。
#include<iostream>
using namespace std;
class Point
{
static int number;
public:
Point() {number++;}
~Point() {number--;}
};
int Point::number=0;
void main() {
Point *ptr;
Point A,B;
Point *ptr_point=new Point[3];
ptr=ptr_point;
Point C;
cout<<Point::number<<endl;
delete[] ptr;
}
第322题
在下列函数原型中,可以作为类AA构造函数的是()。
第323题
有如下类定义,若执行语句 Point a(2), b[3], *c[4]; ,则Point类的构造函数被调用的次数是()。
class Point
{
int x,y;
public:
Point():x(0),y(0){}
Point(int x,int y=0):x(x),y(y){}
};
第324题
有如下程序,执行这个程序屏幕上将显示输出()。
#include<iostream>
#include<iomanip>
using namespace std;
class MyClass{
public:
MyClass(){cout<<'A';}
MyClass(char c){cout<<c;}
~MyClass(){cout<<'B';}
};
int main() {
MyClass p1,*p2;
p2=new MyClass('X');
delete p2;
return 0;
}
第325题
有如下程序,运行时输出的结果是()。
#include<iostream>
using namespace std;
class test{
private:
int a;
public:
test() {cout<<"constructor"<<endl;}
test(int a) {cout<<a<<endl;}
test(const test&test) {
a=test.a;
cout<<"copy constructor"<<endl;
}
~test() {cout<<"destructor"<<endl;}
};
int main() {
test A(3);
return 0;
}
第326题
对于一个类定义,下列叙述中错误的是()。
第327题
有如下程序,程序的输出结果是()。
#include<iostream>
using namespace std;
class Part{
public:
Part(int x=0):val(x) {cout<<val;}
~Part(){cout<<val;}
private:
int val;
};
class Whole{
public:
Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<<val;}
~Whole(){cout<<val;}
private:
Part p1,p2;
int val;
};
int main(){
Whole obj(1,2,3);
return 0;
}
第328题
有如下程序,程序的输出结果是()。
#include<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:
Base val;
};
int main(){
Derived d(1);
return 0;
}
第329题
有如下类定义,则类MyClass的构造函数的个数是()。
class MyClass{
int value;
public:
MyClass(int n): value(n) {}
int getValue()const {return value;}
};
第330题
在C++中,编译系统自动为一个类生成缺省构造函数的条件是()。
第331题
有如下程序,执行这个程序输出星号(*)的个数为()。
#include<iostream>
using namespace std;
class Sample{
public:
Sample(){}
~Sample(){cout<<"*";}
};
int main(){
Sample temp[2],*pTemp[2];
return 0;
}
第332题
有如下程序,运行时的输出结果是()。
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int i=0){cout<<1;}
MyClass(const MyClass&x){cout<<2;}
MyClass& operator=(const MyClass&x){cout<<3;return*this;}
~MyClass(){cout<<4;}
};
int main(){
MyClass obj1(1),obj2(2),obj3(obj1);
return 0;
}
第333题
有如下程序,运行时的输出结果是()。
#include<iostream>
#include<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 d1(5), d2(d1);
XCF *p=new XCF(8);
cout<<p->Geta();
delete p;
return 0;
}
第334题
有如下程序,运行时的输出结果是()。
#include<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;
}
第335题
Sample是一个类,执行下面语句后,调用Sample类的构造函数的次数是()。
Sample a[2], *p=new Sample;
第336题
有如下程序,运行时的输出结果是()。
#include<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 name[10];
static int count;
};
int Toy::count=0;
int main(){
Toy t1("Snoopy"),t2("Mickey"),t3("Barbie");
cout<<<t1.getCount()<<endl;
return 0;
}
第337题
有如下程序,运行此程序输出符号?的个数是()。
#include<iostream>
using namespace std;
class Name{
char name[20];
public:
Name(){
strcpy(name, "?"); cout<<"?";
}
Name(char *fname){
strcpy(name,fname); cout<<"?";
}
};
int main(){
Name name[3]={Name("张三"),Name("李四")};
return 0;
}
第338题
有如下程序,运行这个程序的输出结果是()。
#include<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(){Test x,y;x=fun(y);return 0;}
第339题
若MyClass为一个类,执行 MyClass a[4],*p[5]; 语句时会自动调用该类构造函数的次数是()。
第340题
有如下程序,运行时的输出结果是()。-
#include<iostream>
using namespace std;
class CD{
public:
~CD() { cout<<"C";}
private:
char name[80];
};
int main(){ CD a, *b, d[2];return 0;}