zoukankan      html  css  js  c++  java
  • c++子类调用基类方法的一个例子

     

     

    Base.h

    #pragma once

     

    class Base

    {

    public:

        Base(void);

        ~Base(void);

        bool CreatClone(Base* item);

        char* m_baseprop1;

    };

     

    Base.cpp

    #include "StdAfx.h"

    #include "Base.h"

     

    Base::Base(void)

    : m_baseprop1(NULL)

    {

    }

     

    Base::~Base(void)

    {

    }

     

    bool Base::CreatClone(Base* item)

    {

        m_baseprop1 = item->m_baseprop1;

        return false;

    }

     

    Derived.h

    #pragma once

    #include "base.h"

     

    class Derived :

        public Base

    {

    public:

        Derived(void);

        ~Derived(void);

        char* m_devprop1;

        bool CreatClone(Derived* item);

    };

     

    Derived.cpp

    #include "StdAfx.h"

    #include "Derived.h"

     

    Derived::Derived(void)

    : m_devprop1(NULL)

    {

    }

     

    Derived::~Derived(void)

    {

    }

     

    bool Derived::CreatClone(Derived* item)

    {

        m_devprop1 = item->m_devprop1;

    //基类方法的调用通常放在方法的最后。

        Base::CreatClone(item);

     

        return false;

    }

     

    Main.cpp

    #include "stdafx.h"

    #include <string>

    #include <windows.h>

    #include "Derived.h"

     

    int _tmain(int argc, _TCHAR* argv[])

    {

     

        Derived* d = new Derived();

        d->m_baseprop1 = "aa";

        d->m_devprop1 = "bb";

     

        Derived* d2 = new Derived();

        d2->CreatClone(d);

          

        

        system("pause"); //这里打断点跟踪,发现d的m_baseprop1和m_devprop1都克隆给了d2

        return 0;

    }

  • 相关阅读:
    【转】简单地用nfs实现linux间文件共享
    CentOS 6.1上部署SVN时遇到的问题及解决方法
    ubuntu下部署SVN服务
    LINUX GBK>UTF8文件编码批量转换脚本[转]
    Thinkpad E420 3YC(双显卡)安装64位Ubuntu 11.10笔记
    拦截器详解
    快排的算法
    冒泡排序的算法
    struts2的输入校验
    ssh整合开发
  • 原文地址:https://www.cnblogs.com/time-is-life/p/5786454.html
Copyright © 2011-2022 走看看