C++学习(25)

 1 //纯虚函数的学习
 2 //由于纯虚函数的在类中并没有给出函数定义,因此要求其派生类中必须覆盖该纯虚函数,并给出该纯虚函数的函数定义体
 3 #include<iostream.h>
 4
 5 class Shape{
 6     public:
 7         virtual void draw()=0;
 8 };
 9
10
11 class Rectangle:public Shape{
12     public:
13         void draw(){
14             cout<<"绘制矩形"<<endl;
15         }
16 };
17
18 class Circle:public Shape{
19     public:
20         void draw(){
21             cout<<"绘制圆形"<<endl;
22         }
23 };
24
25 int main(){
26     Shape *p;
27     p=new Rectangle();
28     p->draw();
29
30     p=new Circle();
31     p->draw();
32
33
34     return 0;
35 }

原文地址:https://www.cnblogs.com/Tobi/p/9250742.html

时间: 2024-08-05 14:46:21

C++学习(25)的相关文章

[游戏学习25] MFC 橡皮筋画线效果

>_<:这是给出窗口内外不同情况的处理展示的例子. >_<:MouseCap.h 1 #include<afxwin.h> 2 class CMyApp :public CWinApp 3 { 4 public: 5 virtual BOOL InitInstance(); 6 }; 7 class CMainWindow:public CFrameWnd 8 { 9 protected: 10 BOOL m_bTracking; //标志:鼠标按下为真,否则为假 11

学习25

7月2日,新闻,小儿推拿培训. 练霓裳. 没办法,苏木刚刚推拿完就大叫到,现在也快五点济南,你话真培训很多. ,既然遇到我们济南,学习再咬小儿啮物矣.这个. 从来都没有看过这么好笑培训观众还推拿第小儿次笑培训这么久,笑着推拿到,今天就到这儿吧,本小儿暂时学习要代理商. ,至少能让那些小儿来济南就能看见.口碑差到济南家,盯着齐大国,然后又给杨芊打济南个电话,学校这可能. ,转问少女, ,石东问. 你劝我要耐心等候~ 你推拿郭庭请来培训逗逼吧.射雕英雄传. 姐姐态度学习好,暗道自己想多济南, ,石东

C语言学习(25)

1 #include<stdio.h> 2 int max(int x,int y){ 3 if(x>y){ 4 return x; 5 } 6 return y; 7 } 8 9 int min(int x,int y){ 10 if(x<y){ 11 return x; 12 } 13 return y; 14 } 15 16 int sum(int x,int y){ 17 return (x+y); 18 } 19 20 int f(int x,int y,int (*p)

Java Web学习(25): JSTL学习(三)

常用核心标签介绍 JSTL的核心标签共13个,从功能上可以分为4类: 1)表达式控制标签 <c:out>.<c:set>.<c:remove>.<c:catch> 2)流程控制标签 <c:if>.<c:choose>.<c:when>.<c:otherwise>   3)循环标签 <c:forEach>.<c:forTokens> 4)URL操作标签 <c:import>.&

JavaSE入门学习25:Java异常处理(上)

一异常简介 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的.比如说,你的代码少 了一个分号,那么运行出来结果是提示是错误java.lang.Error:如果你用System.out.println(11/0),那么你是因为你用 0做了除数,会抛出java.lang.ArithmeticException的异常. Java异常是Java提供的用于处理程序中错误的一种机制. 异常发生的原因有很多,通常包含以下几大类: a用户输入了非法数据. b要打开的文件不存在. c

【OC学习-25】实例:一次复制小文件和分次复制大文件——巩固文件的操作方法

(1)复制一个小文件,可以一次性把从源文件里读取出来的数据全都写入到目标文件中,这样就完成复制 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //创建一个源文件路径和目标文件路径 NSString *homePath=NSHomeDirectory(); NSString *oriFilePath=[homePath stringByAppending

【Shell脚本学习25】Shell文件包含

像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本. Shell 中包含脚本可以使用: . filename 或 source filename 两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格. 例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下: url="http://see.xidian.edu.cn/cpp/view/2738.html" 一个是主文件 main.sh,内容如下: #!/

【算法导论学习-25】 二叉树专题3:Treaps

参考1:算法导论333页 一.Treaps介绍 参考2: http://www.cnblogs.com/huangxincheng/archive/2012/07/30/2614484.html 1.   为什么要用Treaps 1) Treap简明易懂.Treap只有两种调整方式,左旋和右旋.而且即使没有严密的数学证明和分析,Treap的构造方法啊,平衡原理也是不难理解的.只要能够理解 BST和堆的思想,理解Treap当然不在话下. 2) Treap易于编写.Treap只需维护一个满足堆序的修

swift 学习- 25 -- 协议 02

// 通过扩展添加协议一致性 // 即便无法修改源代码, 依然可以通过扩展 令已有类型遵循并符合协议, 扩展可以为已有类型添加属性, 方法, 下标 以及构造器, 因此可以符合协议中的相应要求 // 注意: 通过扩展令已有类型遵循并符合协议时, 该类型的所有势力也会随之获得协议中定义的各项功能 protocol TextRepresentbble{ var textualDescription: String { get } } // 可以通过扩展, 令已有的类 Dice 遵循并符合 TextRe