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

c++创建对象

c++创建对象
1.声明一个对象,然后使用默认构造函数来创建对象:

class MyClass {
public:MyClass() {// 构造函数代码}
};int main() {MyClass obj;  // 声明并创建一个对象return 0;
}

2.使用new和指针动态创建对象:不会自动释放
使用 new 运算符创建的对象不会在大括号结尾自动调用析构函数,因为使用
new 分配的内存是动态内存,需要显式地使用 delete 运算符释放内存。如果不释放分配的内存,就会出现内存泄漏的问题。

int main() {MyClass* ptr = new MyClass();  // 动态分配一个对象// ...delete ptr;  // 释放对象的内存空间return 0;
}

3.通过拷贝构造函数创建对象:也就是一个特殊的构造函数

class MyClass {
public:MyClass(const MyClass& other) {// 拷贝构造函数代码}
};int main() {MyClass obj1;  // 创建一个对象MyClass obj2(obj1);  // 使用拷贝构造函数创建一个新的对象return 0;
}

在这个例子中,我们声明了两个对象obj1和obj2。在创建obj2对象时,我们使用了拷贝构造函数来将obj1的值拷贝到obj2中。拷贝构造函数通常用于在函数参数中传递对象或将对象作为返回值返回时使用。

http://www.lryc.cn/news/300575.html

相关文章:

  • 软件实例分享,洗车店系统管理软件会员卡电子系统教程
  • 【Docker进阶】镜像制作-用Dockerfile制作镜像(一)
  • 数据密集型应用系统设计
  • 分布式文件系统 SpringBoot+FastDFS+Vue.js【一】
  • 【PyQt】11-QTextEdit、QPushButton
  • 初识webpack(二)解析resolve、插件plugins、dev-server
  • 什么是自编码器Auto-Encoder?
  • openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络
  • SAP PP学习笔记- 豆知识01 - 怎么查询既存品目
  • 相机的机身马达有什么用?
  • 拿捏c语言指针(上)
  • JVM指令手册
  • Linux之多线程
  • TestNG invocationCount属性
  • 关于maven项目中无法通过邮件服务器发送邮件的补充解决方案
  • 树形dp 笔记
  • 2024-02-08 Unity 编辑器开发之编辑器拓展1 —— 自定义菜单栏
  • typescript中的Omit排除类型及Pick取想要的属性
  • MATLAB计算极限和微积分
  • 在数组中插入元素
  • 【计算机网络】物理层|传输介质|物理层设备|宽带接入技术
  • TCP和UDP面试题提问
  • 网安常用的三个攻击方式
  • C++面向对象程序设计-北京大学-郭炜【课程笔记(二)】
  • IDEA Ultimate下载(采用JetBrain学生认证)
  • Matplotlib plt.plot数据可视化应用案例
  • ES实战--集群扩展
  • 【重要】django默认生成的表的意思记录
  • 12.3 OpenGL顶点后处理:平面着色
  • 实验5-6 使用函数判断完全平方数