zoukankan      html  css  js  c++  java
  • 虚函数的应用

    //

    //  main.cpp

    //  2013-7-17作业3

    //

    //  Created by 丁小未 on 13-7-17.

    //  Copyright (c) 2013 dingxiaowei. All rights reserved.

    //

     

    #include <iostream>

    usingnamespacestd;

    class A

    {

    public:

        A()

        {

            cout<<"A ";

        }

        virtual void func()

        {

            cout<<"A::func ";

        }

        virtual void func1()

        {

            cout<<"A::func1 ";

        }

    };

     

    class B : publicA

    {

    public:

        B()

        {

            cout<<"B ";

            func();

        }

        void func1()

        {

            cout<<"B::func ";

        }

    };

     

     

    int  main(void )

    {

        A *a = newB();    //先创建B对象,又因为B是继承的A,所以在构造B之前要先构造A,所以输出A,然后构造B,输出B,然后调用func(),输出A::func

        a->func();   //由于a中的func()方法虽然定义的是虚函数,但是由于B类中没有该重名函数,所以直接调用A中的func方法,输出A::func

        a->func1();  //由于A中的func1方法是虚函数,且B中也有该方法,所以就调用B中的func1方法,输出B::func

        B b;   //实例化一个B对象,先实例化他的基类,调用A的构造方法,打印输出A,然后在调用B的构造方法,打印输出B,在调用A中的func方法,打印输出A::func

        b.func(); //调用继承自A中的func方法

    }

     

    感谢来访,共同学习!
  • 相关阅读:
    前端把html表格生成为excel表格
    图片预加载
    angular开发中的两大问题
    3d图片点击切换
    图片懒加载
    angular排序
    vue1.0 与 Vue2.0的一些区别 及用法
    图片懒加载
    图片放大镜
    图片小精灵 & 解决同时给一个元素设置背景问题 &jq登录注册切换
  • 原文地址:https://www.cnblogs.com/dingxiaowei/p/3197545.html
Copyright © 2011-2022 走看看