问题 单项选择题

有如下程序:
#include<iostream>
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:Point
public:
Circle(int r):radius(r)
int GetRadius()return radius;
private:
void SetRadius(int r)radius=r;
int radius;
;
int main()
Circle c1(5);
c1.SetX(1); //①
c1.SetY(2); //②
c1.SetRadius(10); //③
cout<<c1.GetRadius(); //④
return 0;

在标注号码的语句行中不存在语法错误的是______。

A.①
B.②
C.③
D.④

答案

参考答案:D

解析: 本题考查对象成员的引用,在类外引用对象的数据成员时,只能访问public成员而不能访问private成员所以C选项错误,D选项正确,派生类公有继承基类,但是不能继承基类的私有成员,所以执行c1.SetX(1)错误,同理B选项错误。

写作题
多项选择题