c++(重载等号=操作为深拷贝)
2024-08-24 19:57:54
// ConsoleApplication19.cpp : 定义控制台应用程序的入口点。
//
#pragma warning(disable:4996)
#include "stdafx.h"
using namespace std;
#include <iostream> class A {
public: //=等号操作默认的是浅拷贝 这里重载=为深拷贝 当类里出现指针变量 用等号是浅拷贝
A& operator=(A& obj)
{
if (this->pc != NULL)
{
this->a = ;
delete this->pc;
}
this->a = obj.a;
this->pc = new char[obj.a];
return *this;
}
A() {}
A(int a)
{
this->a = a;
this->pc = new char[a];
} ~A()
{
if (this->pc != NULL)
{
delete pc;
}
cout << "A析构函数"<< endl;
}
private:
int a;
char * pc;
}; class B {
public:
B()
{ } private:
int b1;
int b2;
A a1;
A a2; }; void displayObj()
{
A a1();
A a2; a2 = a1; }
void main()
{
displayObj(); system("pause");
}
最新文章
- 一步一步学FRDM-KE02Z(一):IAR调试平台搭建以及OpenSDA两种工作模式设置
- Uncaught TypeError: Cannot read property &#39;msie&#39; of undefined
- 利用 css 制作简单的提示框
- PYTHON ASP FRAMEWORK
- 深入理解Activity的启动模式
- 【TensorFlow入门完全指南】模型篇&#183;逻辑斯蒂回归模型
- 制作支持 BIOS+UEFI 的 U 盘 grub2+bootmgr 引导 + deepin_recovery + deepin_iso + win_pe
- Python3 引入模块的方法
- Android 系统自动重启Bug(高通平台)
- AngularJs实现表单验证
- Unity 为队伍设置不同颜色的shader
- [leetcode]18. 4Sum四数之和
- FLIR ONE PRO热成像仪
- 解决js输出汉字乱码问题
- JS forEach()与map() 用法(转载)
- docker pull提示x509错误的对应方法
- 外层页面与iframe相互调用的方法
- 用Head方法获得百度搜索结果的真实地址
- 分布式专题(二)——Zookeeper的ZAB协议介绍
- Appium如何获取appPackage和appActivity