13功能之C++类默认生成的六个成员函数的自定义

2023-11-05

13功能之C++类默认生成的六个成员函数的自定义

1 代码理解即可

#pragma warning(disable:4996)

#include<iostream>
using namespace std;


//默认产生6个成员函数,不想使用就自己重写它们
class Person {
public:
	//1 默认构造 构造函数不能用const修饰,否则this无法修改指针;也不能用static修饰,因为静态函数没有this指针。
	Person() //const error
	{   
		mAge = 0;
	}
	//2 拷贝构造
	Person(int age) {
		mAge = age;
	}
	//3 =运算符重载
	Person& operator=(Person &p) {
		//这个条件语句写不写都一样
		if (this == &p) {
			return *this;
		}
		mAge = p.mAge;

		return *this;
	}
	//4 析构函数
	~Person(){}
	//5 &取地址重载
	Person* operator&() {
		return this;
	}
	//6 const修饰的&重载
	const Person* operator&()const {
		return this;
	}

private:
	int mAge;
};

int main() {
	
	return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

13功能之C++类默认生成的六个成员函数的自定义 的相关文章

随机推荐

  • 目标检测标签文件txt转成xml

    最近在用ppyolo训练好的模型对新采集的数据进行标记 再人工微调 减少从头打标签的时间 但是推理保存的结果都是txt格式的 想要在labelimg中可视化 那就需要将txt转换成xml 以下代码即可完成这一功能 coding UTF 8
  • Web_Components 系列(九)—— Shadow Host 的 CSS 选择器

    前言 在上一节我们了解了如何给自定义组件设置样式 当时是将自定义标签的样式设置在主 DOM 中的
  • docker从安装到入门(centos7连不上网)

    我们安装好centos7之后 只用网络链接的NAT模式 主机有网你就有网 傻瓜式链接 但是发现ping不通百度 通过ifconfig a发现ens33没有ip 虽然和这个没关系 因为用的是NAT模式 我们编辑vi etc sysconfig
  • OpenGL error 0x0502

    项目出现OpenGL error 0x0502 导致有些UI绘制不出来 大致情况是这样 游戏切换到后台之后 其他玩家发来语音 在语音还在播放的时候 切换回前台 这个时候语音服务器 用的融云 会推送到安卓底层 安卓底层有回调到cocos2dx
  • Linux系统之neofetch工具的基本使用

    Linux系统之neofetch工具的基本使用 一 neofetch工具介绍 1 1 neofetch简介 1 2 neofetch特点 二 检查本地环境 2 1 检查操作系统版本 2 2 检查内核版本 三 安装neofetch工具 3 1
  • VMware Workstation Pro 安装教程

    文章目录 笔者的运行环境 VMware Workstation 16 Pro Red Hat Enterprise Linux 8 3 0 需要提前一个操作系统的镜像文件 ISO 这个文件与 VMware 无关 实际上 在安装完 VMwar
  • 生成字典的三种方式

    字典是记录一些特殊或有目的性的密码集合 通常以txt格式进行记录保存 在渗透许多服务器 smb ftp ssh 远程桌面rdp 网页后台等一些用户登录时 没有正确密码 使用密码字典爆破就是最直接的黑客攻击方法 一 使用cupp工具生成 1
  • 对输入数据排序后进行二分查找(C语言)

    输入数据后的排序方法有很多种 这里我用的是暴力排序 各位友友们可以尝试更改排序方法 include
  • Python selenium 滚动页面以及滚动至元素可见之详细讲解

    我们滚动浏览器页面向上 下 左右可以用一下代码 向上和向左需要加 向下滚动xx个像素 driver execute script window scrollBy 0 xx 向上滚动x个像素 driver execute script win
  • JM解码(一):参考帧列表和DPB处理

    以P帧为例 void alloc ref pic list reordering buffer Slice currSlice int size currSlice gt num ref idx active LIST 0 1 if cur
  • 谷粒商城-分布式高级篇[商城业务-订单服务]

    谷粒商城 分布式基础篇 环境准备 谷粒商城 分布式基础 业务编写 谷粒商城 分布式高级篇 业务编写 持续更新 谷粒商城 分布式高级篇 ElasticSearch 谷粒商城 分布式高级篇 分布式锁与缓存 项目托管于gitee 一 页面环境搭建
  • ubuntu freeradius 3.0 + mariadb

    安装数据库及Radius sudo apt update sudo apt install y freeradius freeradius mysql freeradius utils mariadb server mariadb clie
  • Unity Rotate鼠标控制人物旋转

    添加碰撞盒 一定要添加碰撞盒才能响应鼠标事件 将碰撞盒复制给骨架 如果鼠标划动的向量 X轴大于Y轴 则是左右划动 让它旋转 SpinWithMouse using System Collections using System Collec
  • 窗体,组件,事件

    窗体对象JFrame package frame import javax swing public class JFrameTest public static void main String args 创建窗体对象 JFrame jF
  • 使用javacv中的ffmpeg实现录屏,结果连运行都失败了,现在终于解决了

    前言 今天突发奇想 想自己写一个录屏的软件 上次写了一个专门录音的Demo 但是要把声音和视频放到一起合成一个mp4文件 着实有一点艰难 所以就打算使用ffmpeg来写一个 而这篇博客中会顺便谈一谈我碰到的各种坑 ffmpeg是一个c 程序
  • 中兴EPON OLT-C300开局配置

    一 基础配置 1 自定义时间 clock set hh mm ss Apr 8 2018 con t username zte password zte privilege 15 用户名密码 2 自定义名称 hostname CeShi O
  • js如何进行数组去重?

    1 数组反转 使用 reverse 实现数组反转 const arr 1 2 3 console log arr 1 2 3 arr reverse console log arr 3 2 1 2 数组去重 1 new Set array
  • python学习语法中与c语言不同之处(1)

    一 发现使用打印使用的是print 而在C语言中我们更多的使用的是printf 比如想要打印出来hello world 直接如下 C语言 printf a d a python语言 print hello world 然后就是直接回车键就可
  • angular表单验证

    表单验证 通常 我们都需要对用户的表单输入做验证 以保证数据的整体质量 Angular也有两种验证表单的形式 使用属性验证 用于模板驱动表单 使用验证器函数进行验证 用于响应式表单 验证器 Validator 函数 验证器函数可以是同步函数
  • 13功能之C++类默认生成的六个成员函数的自定义

    13功能之C 类默认生成的六个成员函数的自定义 1 代码理解即可 pragma warning disable 4996 include