zoukankan      html  css  js  c++  java
  • C++虚函数示例

    和Java不同,CDerive derive语句可以直接生成对象,不需要new关键字

    重载虚函数才可以用父类引用调用子类对象,重载普通函数没有效果

    #include<iostream>
    #include<tchar.h>
    using namespace std;
    class CBase
    {
    public :
        void fun()
        {
            cout<<_T("CBase:fun")<<endl;
        }
        virtual void vfun1()
        {
            cout<<_T("CBase:vfun1")<<endl;
        }
        virtual void vfun2()
        {
            cout<<_T("CBase:vfun2")<<endl;
        }
    };
    
    class CDerive:public CBase
    {
    public :
        void fun()
        {
            cout<<_T("CDerive:fun")<<endl;
        }
        virtual void vfun1()
        {
            cout<<_T("CDerive:vfun1")<<endl;
        }
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        CDerive derive;
        CBase* pBase = (CBase*)&derive;
        pBase->fun();
        pBase->vfun1();
        pBase->vfun2();
    
        cout<<hex<<*((int*)(*((int*)&derive)))<<endl;
        cout<<hex<<*((int*)(*((int*)&derive))+1)<<endl;
        cin.get();
        return 0;
    }
  • 相关阅读:
    组合数学总结
    字符串算法总结
    数据结构总结
    CDQ分治(学习笔记)
    网络流(学习笔记)
    string
    water
    mine
    洛谷 P4035 【球形空间产生器】
    洛谷 P3306 【随机数生成器】
  • 原文地址:https://www.cnblogs.com/wenwujuncheng/p/3760401.html
Copyright © 2011-2022 走看看