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; } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2006-08-19 你的事业(工作)到了停滞期吗?