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;}