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

C++ 类和对象——构造函数

构造函数和析构函数

#include<iostream>
using namespace std;
class example{
public:example(){cout << "调用构造函数" << endl; }~example(){cout << "调用析构函数" << endl;}
}; void test(){example test;
} 
int main(){test();return 0;
}

运行结果:
调用构造函数
调用析构函数
代码模拟更清晰看到:在创建一个test对象的时候首先运行的是构造函数,在函数test结束以后系统回收时运行析构函数

构造函数的分类和调用

分类方式:有参构造/无参构造;普通构造/拷贝构造

调用方式:括号法,显示法,隐式转换法

class example{
public://无参构造 example(){cout << "调用无参构造函数" << endl; }//有参构造 example(int a){age = a;cout << "调用有参构造函数" << endl; }//拷贝构造函数example(const example &p){age  = p.age;cout << "调用拷贝构造函数" << endl;} ~example(){cout << "调用析构函数" << endl;}int age;
}; void test(){//括号法 example test01; //默认构造函数调用 ,该方式不用括号。有括号会被编译器默认函数声明 example test02(10);//有参数,调用有参函数构造example test03(test02);//传入类,调用拷贝函数构造cout << "test02的年龄:" << test02.age<< endl;cout << "test03的年龄:" << test03.age<< endl;//显示法example test01; //默认构造函数调用 ,该方式不用括号。有括号会被编译器默认函数声明 example test02 = example(10);//有参数,调用有参函数构造example test03 = example(test02);//传入类,调用拷贝函数构造cout << "test02的年龄:" << test02.age<< endl;cout << "test03的年龄:" << test03.age<< endl;example(10); //匿名对象,当场创建,当场回收//拷贝构造函数无法初始化匿名对象。  编译器内 example(test03)等价于example test03 重定义问题//隐式转换法//进一步省略函数,直接用参可以定义 example test04 = 10;example test05 = test02;
} 
int main(){test();return 0;
}
http://www.jsqmd.com/news/846708/

相关文章:

  • 告别pip install torch:手把手教你离线安装PyTorch 1.5.1(含CUDA 9.2配置)
  • 04_ESP32 脉冲宽度调制 (PWM)
  • 告别手动改表!用ArcGIS Pro SDK批量修改属性字段的保姆级教程(附完整C#代码)
  • 通过curl命令直接测试Taotoken聊天补全接口的配置与排错指南
  • 通过Nodejs快速集成Taotoken实现AI对话功能
  • 学术人必藏的Perplexity图书推荐查询技巧,解锁被隐藏的冷门神书与前沿译本
  • 2026 年上海黄金回收服务测评|口碑品牌大盘点 - 奢侈品回收测评
  • 【免费下载】 YOLOv8 源代码(未改动)
  • VPU与NPU协同:智能视觉芯片的架构演进与实战解析
  • 告别Colab限流:手把手教你将Kaggle打造成你的主力免费GPU开发环境(含包管理避坑)
  • 设计师私藏的Perplexity搜索黑箱(仅限内部团队流通):含Figma组件库/Design Token/可访问性规范专属指令集
  • 靠谱省心 2026深圳优质小程序定制服务商推荐 - 软件测评师
  • 终极Zotero Style插件指南:让文献管理从枯燥变高效
  • Nodejs后端服务接入Taotoken多模型API的详细步骤
  • 用 content-length 长度确定后端返回的是不是真实的文件流
  • 3分钟上手Zotero翻译插件:零基础搞定外文文献阅读
  • 2026年COD预制试剂非标定制服务解析:技术实力派生产厂家与品牌选择 - 品牌推荐大师1
  • Winhance:让Windows系统优化变得简单高效的5个实用技巧
  • 【免费下载】 Microsoft Visual C++ Redistributable for Visual Studio 2019 资源文件
  • 2026北京新评定包包回收榜单:三级平台推荐 + 核心区门店布局 - 奢侈品回收测评
  • 【免费下载】 探索三维世界的利器:Qt+OpenGL三维地形显示项目
  • NVIDIA Profile Inspector完整指南:如何快速优化游戏性能并解决兼容性问题
  • Gordon性能优化秘籍:提升Flash运行时效率的10个技巧
  • LangChain三剑客:揭秘AI智能体开发背后的生态力量!
  • 用 fetch 下载文件并在页面上显示多个下载进度条
  • Gemini API多模态接入陷阱大全,图像+文本联合推理失败的6类元数据校验盲区
  • 保姆级教程:在Ubuntu 20.04上用RealSense D435i和RTAB-Map搞定3D建图(附避坑点)
  • Tower.js 资源管理完全指南:掌握 resource、query 和 adapter 的终极教程
  • Royal TSX 终极中文汉化包:让专业远程管理工具说中文的完整解决方案
  • 力扣新成就