一起答
单选

下列描述错误的是(  )

  • A.在创建对象前,静态成员不存在
  • B.静态成员是类的成员
  • C.静态成员不能是虚函数
  • D.静态成员函数不能直接访问非静态成员
试题出自试卷《C++程序设计2008年10月真题试题及答案解析(04737)》
参考答案
查看试卷详情
相关试题
  1. 在三角形类TRI实现两个函数,功能是输入三个顶点坐标判断是否构成三角形

    #include

    #include

    class point{

    private: float x, y;

    public: point(float a, float b){x=a; y=b;}

    point( ){x=0; y=0;}

    void set(float a, float b){

    x=a;

    y=b;

    }

    float getx( ){return x;}

    float gety( ){return y;}

    };

    class tri{

    point x, y, z;

    float s1, s2, s3;

    public: ....settri(....); //用于输入三个顶点坐标

    ....test(....); //用于判断是否构成三角形

    };

    请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型)

  2. 给出下面程序的输出结果。

    #include

    #include

    using namespace std;

    class Book {

    char*title;

    char*author;

    int numsold;

    public:

    Book( ){ }

    Book(const char*str1, const char*str2, const int num){

    int len=strlen(strl);

    title=new char[len+1];

    strcpy(title, str1);

    len=strlen(str2);

    author=new char[len+1];

    strcpy(author, str2);

    numsold=num;

    }

    void setbook(const char*str1, const char*str2, const int num){

    int len=strlen(str1);

    title=new char[len+1];

    strcpy(title, str1);

    len=strlen(str2);

    author=new char[len+1];

    strcpy(author, str2);

    numsold=num;

    }

    ~Book( ){

    delete title;

    delete author;

    }

    void print(ostream&output){

    output<<″书名:″<

    output<<″作者:″<

    output<<″月销售量:″<

    }

    };

    void main( ){

    Book obj1(″数据结构″, ″严蔚敏″, 200), obj2;

    obj1.print(cout);

    obj2.setbook(″C++语言程序设计″, ″李春葆″, 210);

    obj2.print(cout);

    }

  3. 给出下面程序的输出结果

    #include

    using namespace std;

    class A {

    public: 

    int x;

    A( ){ }

    A(int a){x=a;}

    int get(int a){return x+a;}

    };

    void main( ){

    A a(8);

    int(A:: *p)(int);

    p=A:: get;

    cout<<(a.*p)(5)<

    A*pi=&a;

    cout<<(pi->*P)(7)<

  4. 给出下面程序的输出结果。

    #include

    using namespace std;

    template

    T max(T m1, T m2){

    return(m1>m2)?m1:m2;

    }

    void main( ){

    cout<

    cout<

    }

  5. 在下面横线处填上求两个浮点数之差的cha函数的原型声明、调用方法。

    #include

    using namespace std;

    void main( ){

    float a,b;

    ________ //函数cha的原型声明

    a=12.5;

    b=6.5;

    float c=_________;//调用函数cha

    cout<

    }

    float cha(float x, float y){

    float w;

    w=x-y;

    return w;

    }

  6. 给出下面程序的输出结果。

    #include

    template 

    class Sample{

    T n;

    public:

    Sample(T i){n=i;}

    int operator==(Sample &);

    };

    template int Sample:: operator==(Sample&s){

    if(n==s.n)

    return 1;

    else

    return 0;

    }

    void main( ){

    Samples1(2), s2(3);

    cout<<″s1与s2的数据成员″<<(s1==s2?″相等″:″不相等″)<

    Samples3(2.5), s4(2.5);

    cout<<″s3与s4的数据成员″<<(s3==s4 ? ″相等″:″不相等″)<

    }

  7. 程序的输出结果如下:

    1,9

    50,30

    请根据输出数据在下面程序中的下划线处填写正确的语句。源程序如下:#include

    using namespace std;

    class base{

    private:int m;

    public:base( ){ };

    base(int a):m(a){}

    int get( ){return m;}

    void set(int a){

    m=a;

    }

    };

    void main(){

    base*ptr=new base[2];

    ptr- >set(30);

    ptr= _________;

    ptr- >set(50);

    base a[2]={1, 9};

    cout<

    cout<get( )<<″,″;

    ptr=ptr-1;

    cout<<________<

    delete[ ]ptr;

    }

  8. 在下划线处填上缺少的部分。

    #include

    #include

    using namespace std;

    class complex{

    public:int real;

    int imag;

    complex(int r=0, int i=0){

    real=r;

    imag=i;

    }

    };

    complex operator+(________,complex& b){

    int r=a.real+b.real;

    int i=a.imag+b.imag;

    return_________;

    }

    void main( ){

    complex x(1, 2), y(3, 4), z;

    z=x+y;

    cout<

    }

  9. #include

    template

    class f{

    private: T x, y;

    public:

    void f1(T a, T b){x=a;y=b;}

    T max( ){retum(x>y)?x:y;}

    };

    main( ){

    f a;

    a.f1(1.5,3.8);

    cout<

    }

  10. 下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。

    #include 

    using namespace std;

    ________ pi=3.14159;

    void main( ){

    double r;

    cout<<″r=″;

    ___________ ;

    double l=2.0*pi*r;

    double s=pi*r*r;

    cout<<″\n The long is:″<

    cout<<″The area is:″<

    }