A67906. 下列代码中, s1->draw(); 和 s2->draw(); 输出不同结果的主要原因是( )。1 class Shape {
单选题
知识点
题目描述
下列代码中, s1->draw(); 和 s2->draw(); 输出不同结果的主要原因是( )。
1 class Shape {
2 public:
3 virtual void draw() {
4 cout << "绘制图形" << endl;
5 }
6
7 virtual ~Shape() {}
8 };
9
10 class Circle : public Shape {
11 public:
12 void draw() override {
13 cout << "绘制圆形" << endl;
14 }
15 };
16
17 class Rectangle : public Shape {
18 public:
19 void draw() override {
20 cout << "绘制矩形" << endl;
21 }
22 };
23
24 int main() {
25 Shape* s1 = new Circle();
26 Shape* s2 = new Rectangle();
27
28 s1->draw();
29 s2->draw();
30
31 delete s1;
32 delete s2;
33 return 0;
34 }选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员