社区
C++ 语言
帖子详情
请问:纯虚函数在派生类中是否必须重载?
ray_win
2007-11-12 05:37:08
请问:纯虚函数在派生类中是否必须重载?
...全文
559
5
打赏
收藏
请问:纯虚函数在派生类中是否必须重载?
请问:纯虚函数在派生类中是否必须重载?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tiantangniao232
2007-11-12
打赏
举报
回复
如果你想用派生类的话就得重写,否则派生类就是一个抽象类,不能被实例化
thecorr
2007-11-12
打赏
举报
回复
原来如此,学习了
飞哥
2007-11-12
打赏
举报
回复
如果你能编译过去,你可以不写
呵呵
估计编译器不能让你过啊
robertxiao
2007-11-12
打赏
举报
回复
如果派生类需要实例化,就需要,或者就可省略
ccmfk
2007-11-12
打赏
举报
回复
如果楼主不想使用派生类的对象的话,不重载也可以.若要声明派生类的对象,则必须重载.因为带有纯虚函数的类是不能声明对象的.
题目:显示宠物信息(Dev C++运行可通过但是会警告)(
纯虚函数
、父类指针、动态多态性、继承)
【题目】显示宠物信息。具体要求如下: (1)定义抽象宠物类Pet: 数据成员(protected): char name[20]; // 姓名; int age; // 年龄; char color[20]; // 颜色 函数成员(public): 构造函数 Pet (char n[], int a , char c[]);(提示:形参分别表示:姓名,年龄,颜色) 拷贝构造函数 Pet (Pet&a);
纯虚函数
void Speak ();
纯虚函数
void GetInfo; (2) 在Pet类的基础上派生出猫类Cat: 数据成员(protected): int id; // 猫的编号; 函数成员(public): 构造函数 (提示: 自已定义其形式,注意基类的构造参数 )
重载
void GetInfo(); 显示猫的信息,格式如下: 猫的编号:1 猫的名字:mikey 猫的年龄:2 猫的颜色:blue
重载
void Speak (); 显示内容“猫的叫声:miao!miao!” (3)在Pet类的基础上派生出狗类 Dog: 数据成员(protected): int id; // 狗的编号 函数成员(public): 构造函数 (提示: 自已定义其形式,注意基类的构造参数 )
重载
void GetInfo(); 显示狗的信息,格式如下: 狗的编号:1 狗的名字:benben 狗的年龄:1 狗的颜色:black
重载
void Speak (); 显示内容“狗的叫声:wang!wang!” (4)编写主函数对所定义的类进行测试,要求每个成员函数均要测试到,测试数据自定。
定义一个形状类(抽象类)以及一个普通成员函数(用来重设形状大小)、两个纯虚成员函数-周长计算函数和面积计算函数
(1)程序功能简介 定义一个形状类(抽象类)以及一个普通成员函数(用来重设形状大小)、两个纯虚成员函数-周长计算函数和面积计算函数,利用该类及其
派生类
实现圆形、三角形、矩形和梯形等图形的周长和面积的计算;主函数完成基类和
派生类
的测试工作。 (2)程序设计说明 ① 定义一个形状类CShape(抽象类),并添加一个普通成员函数(用来重设形状大小,
重载
成员函数)SetData()、两个纯虚成员函数-周长计算函数Perimeter()和面积计算函数Area(); ② 由CShape派生出一个圆形类CCircle类,进行相应数据成员和成员函数的重新定义; ③ 由CShape派生出一个三角形类CTriangle类,进行相应数据成员和成员函数的重新定义; ④ 由CShape派生出一个矩形类CRectangle类,进行相应数据成员和成员函数的重新定义; ⑤ 由CShape派生出一个梯形类CTrapezia类,进行相应数据成员和成员函数的重新定义; ⑥ 设计测试主函数,通过输入相应的半径、长、宽、高等数据成员,计算相应的周长和面积; ⑦ 仔细考虑数据成员有哪些?分别放到哪些类(包括基类、子类等)
中
?注意:
纯虚函数
、抽象类和具体类的声明、定义和使用细节。 (3)程序调试运行 运行程序查看结果,并进行源代码调试和优化。
C++面向对象技术完全剖析_源代码(继承,封装,多态,虚函数,
纯虚函数
,虚拟继承,多重继承,函数
重载
,指针……)
1。多继承 基类
派生类
(还要有多个父类) 第二条:涉及构造和析构 通过实例化一个对象体现构造和析构 还要有函数
重载
第三个:基类
派生类
的关系 以及如何访问抽象类
纯虚函数
还应包含有对象成员(除了一般成员外) ----------------------------------------------------- 带有多对象成员的虚拟多继承 要求:1、虚函数 多态 多态表现为 基类 基类指针和继承间的关系 2、带有多对象成员。定义 3、体现继承 虚拟继承(要通过至少三层 父类父类子类) 虚函数 (3层 纵向关系) 水平方向上:体现出继承顺序 先虚拟继承 再普通继承 通过实例化类 体现对象构造和析构的顺序 还要有函数
重载
指针 指针悬挂 无参函数等问题....
多态性实验
(1)进一步熟悉类的设计、运用继承与派生机制设计
派生类
,合理设置数据成员和成员函数。 (2)掌握双目运算符、单目运算符的
重载
方法,对常用算术运算符能在自定义类
中
通过友元函数、成员函数进行
重载
,以实现静态多态性。 (3)掌握通过继承、虚函数、基类的指针或引用实现动态多态性的方法。 (4)理解并掌握有
纯虚函数
的抽象类的作用,在各
派生类
中
重新定义各
纯虚函数
的方法,以及此时实现的动态多态性
C++之普通成员函数、虚函数以及
纯虚函数
的区别与用法要点
普通成员函数是静态编译的,没有运行时多态,只会根据指针或引用的“字面值”类对象,调用自己的普通函数;虚函数为了
重载
和多态的需要,在基类
中
定义的,即便定义为空;
纯虚函数
是在基类
中
声明的虚函数,它可以再基类
中
有定义,且
派生类
必须
定义自己的实现方法。 假设我们有三个类Person、Teacher、Student它们之间的关系如下: 类的关系图 普通成员函数 【Demo1】 根据这个类图,我们有下面的代码实现 #ifndef __OBJEDT_H__ #define __OBJEDT_H__ #include
#include
class Perso
C++ 语言
64,652
社区成员
250,478
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章