请找出下列程序中错误之处 ______。 include classA{private: intx1;protected: int请找出下列程序中错误之处 ______。#include<iostream.h>class A{private:int x1;protected:int x2;public:int x3;};class B:public A{private:int y1;protected:int y2;public:int y3;void disp(){cout<<x1<<y1<<end1:

题目
请找出下列程序中错误之处 ______。 include classA{private: intx1;protected: int

请找出下列程序中错误之处 ______。

#include<iostream.h>

class A{

private:

int x1;

protected:

int x2;

public:

int x3;

};

class B:public A{

private:

int y1;

protected:

int y2;

public:

int y3;

void disp(){cout<<x1<<y1<<end1:} //A

void set(int i) {x2=i;} //B

};

void main() {

B bb;

bb.x3=10; //C

bb.y3=10; //D

}

A.A

B.B

C.C

D.D


相似考题
更多“请找出下列程序中错误之处 ______。 #include<iostream.h> classA{private: intx1;protected: int ”相关问题
  • 第1题:

    下面程序的结果为includeint c;class A{private:int a;static int b;public:A( ){a

    下面程序的结果为 #include<iostream.h> int c; class A { private: int a; static int b; public: A( ) {a=0;c=0;} void seta( ){a++;} void setb( ){b++;}

    A.1 2 1

    B.1 2 2

    C.1 1 2

    D.2 2 2


    正确答案:B
    解析:C++语言中全局变量是任何函数都可以改变的量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中c为全局变量,b为静态变量,a为普通变量,b和c在类A的对象a1和a2中都自加1。所以b,c为 2,a为1。

  • 第2题:

    下面程序中错误之处是 ______。 include classA{private:intxl;protected:intx2;publ

    下面程序中错误之处是 ______。

    include<iostream.h>

    class A{

    private:

    int xl;

    protected:

    int x2;

    public:

    int x3;

    };

    class B: public A{

    private:

    int b1;

    protected:

    int b2;

    public:

    int b3;

    void disp(){cout<<x1<<b2<<end1;} //A

    void set(int i){x3=i;} //B

    };

    void main()

    B bb;

    bb. a3=10 //C

    bb. b3=10 //D

    }


    正确答案:√
    1

  • 第3题:

    若有以下程序:include using namespace std;class A{private: int a;public: A(int

    若有以下程序: #include <iost ream> using namespace std; class A { private: int a; public: A(int i) { a=i; } void disp () { cout<<a<<", "; } }; class B { private:

    A.10,10,10

    B.10,12,14

    C.8,10,12

    D.8,12,10


    正确答案:D
    解析:本题考核派生类构造函数的使用。本题中,派生C具有多重继承关系,所以在派生类C的构造函数中应该包含基类A和B的成员初始化列表。而且派生类C中的成员函数disp分别调用了基类A、B的公有成员函数disp()用于输出基类中私有数据变量初始化后的值。所以由类C构造函数的初始化形式可知,程序最后输出为8,12,10,即D选项。

  • 第4题:

    若有以下程序:include using namespace std;class A{private: int x;protected: int

    若有以下程序: #include <iostream> using namespace std; class A { private: int x; protected: int y; public: int z; void setx(int i) { x=i; } int getx () { return x; }; class B : protected A { public: void setvalue(int a, int b, int c) { setx (a); y=b; z=c; } void display() { cout<<getx ( ) <<", "<<y<<", "<<z<<", "<<end1; } }; int main () { B obj; obj.setvalue(5, 6, 7); obj.display ( ); return 0; } 程序运行后的输出结果是( )。

    A.产生语法错误

    B.7,6,5

    C.5,6,7

    D.7,5,6


    正确答案:C
    解析:本题考核保护继承中对类成员的访问权限。①在保护继承中,基类公有成员和保护成员都以保护成员身份出现在派生类中,而基类私有成员不可访问。②基类的公有成员和保护成员被继承以后作为派生类的保护成员,这样,派生类的其他成员可以直接访问它们。③由保护派.生的类声明的对象,不能访问任何基类的成员。在本题中,基类A中的数据成员y和函数setx,经过保护继承以后,在派生类B中成为保护成员,派生类B的对象不能访问它们。而派生类B中的函数setvalue和display都是公有成员,可以通过对象对它们进行访问。所以程序中对各成员的访问是正确的。本程序的功能是对类中各数据成员进行赋值,然后查看赋值是否正确。

  • 第5题:

    以下程序中,错误的行为①include②class A③{④public:⑤int n=2;⑥A(int val){cout<

    以下程序中,错误的行为

    ①#include<iostream.h> ②class A ③{ ④ public: ⑤ int n=2; ⑥ A(int val){cout<<val<<end1;} ⑦ ~A(){}; ⑧}; ⑨void main() ⑩{ (11) A a(0); (12)}

    A.⑤

    B.⑥

    C.⑦

    D.(11)


    正确答案:A
    解析:C抖语言中规定在类体中不允许对所定义的数据成员进行初始化。