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;

}

c++子类调用基类方法的一个例子的更多相关文章

  1. C#中子类对基类方法的继承、重写和隐藏

    提起子类.基类和方法继承这些概念,肯定大家都非常熟悉.毕竟,作为一门支持OOP的语言,掌握子类.基类是学习C#的基础.不过,这些概念虽然简单,但是也有一些初学者可能会遇到的坑,我们一起看看吧.   子 ...

  2. c#调用c++ dll的一个例子

    1.创建一个简单的c++ 项目生成动态库. Vs 创建完工程后,打开SampleOperation.cpp文件,看到有个导出函数的例子. 复制这段代码, 修改函数(返回值, 参数列表, 函数的实现) ...

  3. C#子类调用基类构造备忘

    using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace First ...

  4. C++/JAVA/C#子类调用父类函数情况[留存]

    时间久了就容易记不清了,特留存备用查看 c++ 1.构造函数调用   常用初始化列表  或者显示调用 1.1同一个类中构造函数调用构造函数   尽量不要这样做,因为结果不确定!避免麻烦(C++11增加 ...

  5. php部分--面向对象三大特性-封装(另加连续调用的一个例子)、继承(重写、重载的例子)、多态;

    一.封装性: 目的:为了使类更加安全. 做法:1设置私有成员 2在类中建方法,访问私有成员 3在方法里边加控制(if) 私有成员访问的两种方法: 方法一:set(可写) get(可读)做方法(可读可写 ...

  6. 关于MFC中重载函数是否调用基类相对应函数的问题

    在重载CDialog的OnInitDialog()函数的时候,在首行会添加一句:CDialongEx::OnInitDialog();语句,这是为什么呢?什么时候添加,什么时候不添加? 实际上,我们在 ...

  7. python3 推荐使用super调用base类方法

    from:https://python3-cookbook.readthedocs.io/zh_CN/latest/c08/p07_calling_method_on_parent_class.htm ...

  8. 对Jena的简单理解和一个例子

    本文简单介绍Jena(Jena 2.4),使用Protégé 3.1(不是最新版本)创建一个简单的生物(Creature)本体,然后参照Jena文档中的一个例子对本体进行简单的处理,输出本体中的Cla ...

  9. C#中派生类调用基类构造函数用法分析

    这里的默认构造函数是指在没有编写构造函数的情况下系统默认的无参构造函数 1.当基类中没有自己编写构造函数时,派生类默认的调用基类的默认构造函数例如: ? 1 2 3 4 5 6 7 8 9 10 11 ...

随机推荐

  1. oop、configparser、xml模块

    本节大纲:一:在python中,有两种编程思想.1:函数式编程.2:oop.无论是函数式编程还是oop都是相辅相成.并不是说oop比函数式编程就好.各有各的优缺点.在其他语言中java等只能以面向对象 ...

  2. springboot系列之-profile

    Spring Boot profile用于分离不同环境的参数配置,通过spring.profile.active参数进行设置. 在Spring Boot中应用程序配置可以使用2种格式:applicat ...

  3. cocos2d-html5 让图层阻挡下层触碰事件

    目前最新版本是3.8.1,基本上基于3.x之后的都可以这样处理: 给当前图层一个成员变量:_touchListener 一个成员方法: onTouchBegan:function(touch,even ...

  4. PHP7在linux下的安装步骤

    安装mcrypt: yum install -y php-mcrypt libmcrypt libmcrypt-devel 升级bison: cd /var/soft/ wget http://ftp ...

  5. document的一点点

    var str = "hello world" document.write(str.length)输出字符串长度   12 给string 添加样式 <p>Big: ...

  6. spring mvc 请求转发和重定向

    spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...

  7. Servlet基本模式

    一.首先用Myeclipse2015创建一个web项目,然后修改index.jsp. <%@ page language="java" import="java.u ...

  8. CMD规范

    define(function (require, exports, module) { module.exports = require('xx/xx/xx')({}); });

  9. JS获取当前日期时间及JS日期格式化

    Js获取当前日期时间: var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份( ...

  10. 推荐csdn里的几篇activiti基础入门及提高的博客

    昨天有个网友加qq询问我有没有非maven搭建的activiti项目的demo,因为我博客中写了一个用maven,我当时没有,于是晚上回家尝试了一下,结果比较容易就实现了. 之后和那个网友聊了一下,他 ...