//18. 定义一个基类BaseClass,从它派生出类DerivedClass,BaseClass有成员函数fn1()、fn2(),fn1()是虚函数,DerivedClass也有成员函数fn1()、fn2(),
//在主程序中定义一个DerivedClass的对象,分别用BaseClass和DerivedClass的指针来调用fn1()、fn2()。
#include"iostream"
using namespace std;
class BaseClass
{
public:
    virtual void fn1();
    void fn2();
    BaseClass()
    {

cout<<" Destruct BaseClass "<<endl;
    }

};
class DerivedClass:public BaseClass
{
public:
    void fn1();
    void fn2();
    DerivedClass()
    {

cout<<"Destruct DerivedClass"<<endl;
    }

};
int main()
{

DerivedClass d1;
    DerivedClass *d2=&d1;
    BaseClass *b1=&d1;
    d2->fn1();
    d2->fn2();
    b1->fn1();
    b1->fn2();
    return 0;

}
void BaseClass::fn1()
{

cout<<"the fn1 of BaseClass"<<endl;
}
void BaseClass::fn2()
{
      cout<<"the fn2 of BaseClass"<<endl;
}
void DerivedClass::fn1()
{

cout<<"the fn1 of DerivedClass"<<endl;
}
void DerivedClass::fn2()
{

cout<<"the fn2 of DerivedClass"<<endl;
}

//18. 定义一个基类BaseClass,从它派生出类DerivedClass,BaseClass有成员函数fn1()、fn2(),fn1()是虚函数,DerivedClass也有成员函数fn1()相关推荐

  1. 实验6.2 定义一个基类BaseClass,观察构造函数和析构函数的执行情况。

    题目 定义一个基类BaseClass,有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况. AC的C++代码如下: #include<iostre ...

  2. 实验6.1 定义一个基类Animal

    题目 定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试 ...

  3. 虚函数之定义一个基类Shape,在此基础上派生出Rectangle和Circle再使用Rectangle类创建一个派生类Square。

    定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea( )函数计算对象的面积,再使用Rectangle类创建一个派生类Square.将getArea()改造 ...

  4. 定义一个基本的银行账户类。在基本账户类的基础上派生出1年期定期账户、2年期定期账户、3年期定期账户和5年期定期账户。定义一个n个基类指针组成的数组,随机生成n个各类派生类的对象。让每个指针指向一个派生

    定义一个基本的银行账户类.在基本账户类的基础上派生出1年期定期账户.2年期定期账户.3年期定期账户和5年期定期账户.定义一个n个基类指针组成的数组,随机生成n个各类派生类的对象.让每个指针指向一个派生 ...

  5. c++程序设计十二章第5题5 写一个程序,定义抽象基类shape由它派生出5个派生类:Circle(圆形),Square(正方形),Rectangle(矩形),Trapezoid(梯形),Tr

    写一个程序,定义抽象基类shape由它派生出5个派生类:Circle(圆形),Square(正方形),Rectangle(矩形),Trapezoid(梯形),Triangle(三角形).用虚函数分别计 ...

  6. 定义一个集合类setColour,要求元素为枚举类型值

    目录 题目 前言 集合的实现的两种方法: 枚举类型: 方式一 总体实现原理 各函数实现 构造函数 拷贝构造函数和赋值运算符重载 ">>"的 重载 "<& ...

  7. asp.net 的page 基类页面 做一些判断 可以定义一个基类页面 继承Page类 然后重写OnPreLoad事件...

    public class BasePage:Page protected override void OnPreLoad(EventArgs e) {      base.OnPreLoad(e); ...

  8. 定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea( )函数计算对象的面积,再使用Rectangle类创建一个派生类Square。

    输入格式 Rectangle的长和宽.Circle的半径.Square的边长 输出格式 Rectangle.Circle和Square对应的面积.四舍五入到整数 输入样例 3 7 6 4 2.1 3. ...

  9. java如何枚举定义一个数组_Java中如何将字符枚举类变成一个数组

    ( light. class ); currenummap.put(light. red , " 红灯 " ); currenummap.put(light. green , &q ...

  10. 请编写一个抽象类shape,在此基础上派生出类rectangle和circle。二者都有计算对象面积的函数getarea(),计算对象的周长的函数getperim();

    具体代码如下: #include <iostream> using namespace std; class shape{ public:virtual double getarea()= ...

最新文章

  1. c#启动mysql数据库服务器_C#启动停止SQL数据库服务
  2. 需要大规模配置头文件的解决方案《vc》[转]
  3. Go语言_通神路五耀篇(3)
  4. spring admin mysql_easyadmin: 简易的java后台管理框架,基于SpringBoot+FreeMark+ace admin+mysql...
  5. pcm压缩 java,Java C.PcmEncoding方法代码示例
  6. 【HDU - 6184】Counting Stars(三元环计数,二分,优化暴力,O(m*sqrt(m)),图论)
  7. 信安教程第二版-第22章网站安全需求分析与安全保护工程
  8. 分类计数原理与分步计数原理_两种基础的计数原理
  9. SQL Server 2005 中行号的显示,分页
  10. 优秀ASP.NET程序员的修炼之路(转)
  11. 【优化求解】基于matlab NSGA2算法多技能员工调度优化模型【含Matlab源码 1775期】
  12. 微信商户平台关闭自动提现
  13. Win7手工查找notepad.exe的IAT
  14. 【POJ No. 3294】星际迷航 Life Forms
  15. layui 勾选不联动父项 树形控件_layui树形组件重现勾选过程的办法
  16. C语言程序设计第一到五章思维导图总结
  17. 【设计模式】2.工厂模式
  18. Windows系统,多开微信(电脑版)
  19. 特斯拉Model3车主称无法开启;传高通开发首款笔记本处理器;Dfinity挑战亚马逊 | 雷锋早报...
  20. Mysql日期时间格式化 %Y-%m-%d %H:%i:%S

热门文章

  1. JavaScript ES6新特性
  2. new InputStream().available()方法的讲解
  3. linux的内存available,Linux中available内存的计算
  4. Vue 做调查问卷简单实例
  5. 2020年证券从业《证券市场基本法律法规》真题汇编卷一
  6. 一元三次方程求解matlab_为什么一元n次代数方程必有n个根?
  7. Vue 在同一元素上实现单击、双击事件 (将其自定义指令)
  8. 2015人生感悟哲理
  9. 链接Maya和UE4实现real-time预览——Connecting Maya to Unreal with Live Link
  10. edge播放视频HTML5黑屏,Win10 edge 浏览器 播放视频黑屏解决方法