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;

}

转载于:https://www.cnblogs.com/time-is-life/p/5786454.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值