📄 exp16_1.cpp
字号:
/*使用虚函数和抽象基类对实验十五题1进行改进。
[要求]定义一个抽象基类CElement,提供显示、求面积等公共接口(虚函数),派生出CPoint、
CLine、CCircle、CArc等图形元素类,并重定义(override)这些虚函数,完成各自的任务。
再定义一个CElemList链表类,存储CElement的派生类。然后定义main函数,生成多个图形元素
插入链表中,通过链表的头指针逐个访问链表中的元素,输出所有图形元素。
在这里,CElement是抽象基类,它不能提供具体的显示等操作,应将其成员函数定义为纯虚函数。
只有采用指向基类的指针或对基类的引用进行调用,实现的才是动态联编,完成运行时的多态性。
*/
#include <iostream.h>
#include "element.h"
void main(){
CElemList list; // 定义链表类对象
CElement *p1 = new CLine(100,100,100,200);
list.Insert(p1);
list.Show();
cout<<endl;
p1 = new CCircle(200,100, 20);
list.Insert(p1);
list.Show();
cout<<endl;
list.Delete(p1);
list.Show();
cout<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -