当前位置: 首页 > article >正文

C++构造函数 拷贝构造函数 括号法显示法隐式转换法实现类

一.无参构造 & 有参构造 & 拷贝构造函数

拷贝的是自己所属的类,也就是克隆自己。
所以传参要穿自己的类名。
克隆归克隆,但是不能把本身给改了,所以参数前要加const。
class Person
{
public:
    int age;
    
public:
    Person()
    {
        cout<<"Person的构造函数"<<endl;
    }
    Person(int a)
    {
        age = a;
        cout<<"Person的有参构造函数"<<endl;
    }
    //拷贝构造函数
    Person(const Person &p)
    {
        // 将传入的人身上的所有属性,拷贝到我身上。
        age = p.age;
    }

};

二.三种方法调用构造函数(类的实现)

   //1.括号法调用
    Person p1; // 调用默认构造函数 (调默认构造函数时不能加括号,否则编译器会认为是声明)
    Person p2(10); //调用有参构造函数
    Person p3(p2); //调用拷贝构造函数


    //2.显示法
    Person p2 = Person(10); //调用有参构造
    Person p3 = Person(p2); //调用拷贝构造

    //3.隐式转换法
    Person p4 = 10; //相当于 Person p4 = Person(10);
    Person p5 = p4; //拷贝构造

http://www.kler.cn/a/132623.html

相关文章:

  • 基于Python实现的HDR图像处理算法
  • Vscode/Code-server无网环境安装通义灵码
  • uniapp 微信小程序地图标记点、聚合点/根据缩放重合点,根据缩放登记显示气泡marik标点
  • Spring纯注解开发
  • 云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测
  • 使用 TensorFlow 实现 ZFNet 进行 MNIST 图像分类
  • openGauss学习笔记-126 openGauss 数据库管理-设置账本数据库-归档账本数据库
  • 鸿蒙LiteOs读源码教程+向LiteOS中添加一个系统调用
  • Unity - Cinemachine
  • SQL题
  • 深信服AC应用控制技术
  • 解决Kibana初始化失败报错: Unable to connect to Elasticsearch
  • dataspace
  • 16位 (MCU) R7F101G6G3CSP、R7F101G6E3CSP、R7F101G6G2DSP、R7F101G6E2DSP是新一代RL78通用微控制器
  • uniapp基础学习笔记01
  • 【网络安全】伪装IP网络攻击的识别方法
  • idea2023.2.3版本出现reading maven projects的进度条一直卡住的问题
  • 交换机堆叠 配置(H3C)堆叠中一台故障如何替换
  • 2311rust,到50版本更新
  • uniapp app tabbar 页面默认隐藏
  • Android studio2022.3项目中,底部导航菜单数多于3个时,只有当前菜单显示文本,其他非选中菜单不显示文本
  • UI自动化测试(弹出框,多窗口)
  • linux进程间通信之信号
  • text/xml和application/xml
  • Pytorch torch.norm函数详解用法
  • 【系统稳定性】1.5 黑屏(二)