定义一个基本的银行账户类。在基本账户类的基础上派生出1年期定期账户、2年期定期账户、3年期定期账户和5年期定期账户。定义一个n个基类指针组成的数组,随机生成n个各类派生类的对象。让每个指针指向一个派生类的对象。这些对象可以是1年期定期账户、2年期定期账户、3年期定期账户,也可以是5年期定期账户。输出每个账户到期的利息。

#include <iostream> 
using namespace std;
class account
{
    protected:
        double money;
    public:
        virtual void input()=0;
        virtual  void display()=0; 
};
class account1:public account
{
public:
    void input(){
        cout<<"存储金额";
        cin>>money;
    }
    void display()
    {
        cout<<"存储一年后金额为"<< money*0.0234+money<<endl;//假设利率 
    }
        
};
class account2:public account
{
public:
    void input(){
        cout<<"存储金额";
        cin>>money;
    }
    void display()
    {
        cout<<"存储二年后金额为"<< money*(1+0.0234)*(1+0.0234)<<endl;//假设利率 
    }
        
};class account3:public account
{
public:
    void input(){
        cout<<"存储金额";
        cin>>money;
    }
    void display()
    {
        cout<<"存储三年后金额为"<<money*(1+0.0234)*(1+0.0234)*(1+0.0234) <<endl;//假设利率 
    }
        
};
class account5:public account
{
public:
    void input(){
        cout<<"存储金额";
        cin>>money;
    }
    void display()
    {
        cout<<"存储五年后金额为"<< money*(1+0.0234)*(1+0.0234)*(1+0.0234)*(1+0.0234)<<endl;//假设利率 
    }
        
};
int main()
{
    account *p[1000];
    int n;
    cout<<"请输入n"<<endl;
    int a;
    int b;
    cin>>n;
    for(int i=0;i<n;i++){
        if(i%2==0)
        {
            account1 a;
            p[i]=&a;
            p[i]->input();
            p[i]->display();
        }
        else{
            if(i%3==0)
            {
            account2 b;
            p[i]=&b;
            p[i]->input();
            p[i]->display();}
            else
            {
                if(i%5==0)
                {
                    account3 c;
                p[i]=&c;
                p[i]->input();
                p[i]->display();
                }
                else
                {
                    account3 c;
                p[i]=&c;
                p[i]->input();
                p[i]->display();
            }//多重循环的目的主要是为了构造随机性 
            }
        }
    }
    return 0;
}

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

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

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

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

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

  3. 定义了Circle圆形类,在此基础上派生出Cylinder圆柱体类。 Circle圆形类定义如下: class Circle { public: Circle(double r):radius(r

    #include <iostream> #include <iomanip> using namespace std;#define PI 3.14class Circle { ...

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

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

  5. aliyun短信服务包含随机生成四位数字验证码工具类

    .1.pom文件 <dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sd ...

  6. 随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址

    http://blog.csdn.net/itcastcpp//details/39277193 题目:随机生成1024个数,存入一段内存,用指针实现获取1024个数的最大数地址,最小数地址,具体实现 ...

  7. 用R语言随机生成30个自然数, 然后把3的倍数的储存到一个向量,3k+1形式的数储存到另外一向量, 3k+2形式储存到第三个向量。写出R代码。

    此篇博客主要讲述R语言的应用,随机生成30个自然数(范围0-100),存入向量x, 然后把3的倍数的储存到一个向量x1,3k+1形式的数储存到另外一向量x2, 3k+2形式储存到第三个向量x3.写出R ...

  8. php随机生成昵称,PHP基于自定义类随机生成姓名的方法示例

    本文实例讲述了PHP基于自定义类随机生成姓名的方法.分享给大家供大家参考,具体如下: 自定义类rndChinaName.class.php: Class rndChinaName { private ...

  9. 用随机投点法计算pi值matlab,用蒙特卡洛法求圆周率PI的近似值,其算法如下:使用随机函数Rnd,随机生成两个[0,1)之间的随机数,由此构成一个投点坐标(x,y),然后根据x...

    (2) 实现上述功能的VB程序如下,请在划线处填入合适代码. Private Sub Command1_Click() Dim m1 As String, m2 As String, sum As S ...

最新文章

  1. 嘿嘿,我就知道面试官接下来要问我 ConcurrentHashMap 底层原理了,看我怎么秀他...
  2. pat1038. Recover the Smallest Number (30)
  3. Py之folium:python库之folium的简介、安装、使用方法之详细攻略
  4. Eureka源码分析
  5. 转整型_156.Ruby烘焙大理石豆沙吐司解锁大理石花纹整型
  6. 阿里安全开源顶尖技术“猎豹” 计算更快数据更安全
  7. python显示数据长度_python – 获取CSV的长度以显示进度
  8. 一次完整的http请求
  9. mongodb:修改oplog.rs 的大小size
  10. testbench文件显示波形_如何编写testbench的总结(非常实用的总结)
  11. 快速入门学习数字图像处理(冈萨雷斯第三版)
  12. arduino环境下用ESP32连接PS2手柄
  13. 每次刷新页面时总会先闪一下空白再出现背景图片的解决
  14. CDOJ 796 DAGE(Big Brother)
  15. android 全屏倒计时,全屏计时器app
  16. 微信公众号扫码关注并打开指定页面的解决方案
  17. linux下terminal重命名方法
  18. STM32外部中断触发
  19. word里面Ctrl+V不能粘贴解决方法
  20. Android IPC 进程间通信

热门文章

  1. mac设置python3环境变量_搞定 | MAC 配置python3环境
  2. 基于 CC2530 的温度采集系统(未定稿)
  3. spring框架:简述AOP的使用(xml方式和注解方式)
  4. python电脑下载教程_苹果电脑python下载安装教程
  5. 字典树 01 字典树基础
  6. 幼子嘟嘟谈美国文化系列6 美国文化另一重要主线--体育(下)
  7. R如何正确动态创建变量名,解决target of assignment expands to non-language object
  8. LeetCode刷题 _「剑指 Offer]专项突破版
  9. “坚持,自有万水千山。”kkgj66
  10. 如何调试命令行程序?——怎样输入命令行程序参数