有如下程序: #include using namespace std; class Point{ public: Point(int xx=0,int yy=0):x(xx),y(yy){} void Se

admin2016-09-20  24

问题 有如下程序:
    #include
    using namespace std;
    class Point{
    public:
    Point(int xx=0,int yy=0):x(xx),y(yy){}
    void SetX(int xx){x=xx;}
    void SetY(int yy){y=yy;}
    private:
    int x,y;
    };
    class Circle:public Point{
    public:
    Circle(int r):radius(r){}
    int GetRadius(){return radius;}
    protected:
    void SetRadius(int r){radius=r;}
    private:
    int radius;
    };
    int main(){
    Circle c1l(5);
    c1.SetX(1);//①
    c1.SetY(2);//②
    c1.SetRadius(6);//③
    cout<    return 0;
    在标注号码的语句行中存在语法错误的是(    )。

选项 A、①
B、②
C、③
D、④

答案c

解析 以public方式继承时,基类的公有成员在派生类中仍然是公有成员,所以Circle类对象c1可以访问基类的公有成员函数SetX和SetY,选项A、B正确;同样,GetRedius是Circle的公有成员函数,对象c1也可以直接访问,选项D正确;而SetRedius是Circle的保护成员函数,c1对象是无法访问的,选项C错误,答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/jdNp777K
0

随机试题
最新回复(0)