c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(九、十)构造与析构 对象初始化

本文主要是介绍c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(九、十)构造与析构 对象初始化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

九:

init()函数:对象的变量初始赋值
constructor 构造函数:对象被创建时自动被调用
Tree t(12),圆括号表示调用构造函数,12被传给i
destructor 析构函数:对象要被结束掉的时候被自动调用,不能有参数
大括号:对象的域,在大括号之外对象不存在
大括号结束时destructor被调用

大括号指的是main函数的scope

来源:

https://study.163.com/note/noteIndex.htm?id=271005&type=0#/noteIndex?resType=0&resId=381172&sortType=0

默认构造函数,无参数,即,无参数的构造函数就是默认构造函数,并不是这个默认构造函数就一定是编译器给的,编译器给的叫做自动默认构造函数

注意,凡是有构造函数的类,在创建时,要留意构造函数是否有输入参数,若没有,叫做default constructor;若有,则不是默认构造函数,务必赋值。如果该赋值却没赋值,编译器会给一个auto default constructor(这种情况,如果没有给default constructor下定义,就会报错:no matching function blabla……因为你不给参数初始化对象,有没有提供相应的默认构造函数,所以报这样的错

来源:

https://study.163.com/note/noteIndex.htm?id=271005&type=0#/noteIndex?resType=0&resId=381173&sortType=0

补充:

默认构造函数,没有参数/参数全为默认值

程序没有构造函数,系统隐含生成

程序如果自己定义了构造函数,还需要默认构造函数:

复制构造函数:

默认复制构造相当于重复印刷,而自己定义的构造函数相当于点印刷,个性化需求,如果不希望对象被复制构造,那么用delete

如果没有声明复制构造函数,系统默认生成的:

这篇关于c++ 浙大翁恺老师 面向对象程序设计听课笔记收录(九、十)构造与析构 对象初始化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/259834

相关文章

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

C++ Primer 标准库vector示例详解

《C++Primer标准库vector示例详解》该文章主要介绍了C++标准库中的vector类型,包括其定义、初始化、成员函数以及常见操作,文章详细解释了如何使用vector来存储和操作对象集合,... 目录3.3标准库Vector定义和初始化vector对象通列表初始化vector对象创建指定数量的元素值

SpringBoot实现导出复杂对象到Excel文件

《SpringBoot实现导出复杂对象到Excel文件》这篇文章主要为大家详细介绍了如何使用Hutool和EasyExcel两种方式来实现在SpringBoot项目中导出复杂对象到Excel文件,需要... 在Spring Boot项目中导出复杂对象到Excel文件,可以利用Hutool或EasyExcel

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

C++一个数组赋值给另一个数组方式

《C++一个数组赋值给另一个数组方式》文章介绍了三种在C++中将一个数组赋值给另一个数组的方法:使用循环逐个元素赋值、使用标准库函数std::copy或std::memcpy以及使用标准库容器,每种方... 目录C++一个数组赋值给另一个数组循环遍历赋值使用标准库中的函数 std::copy 或 std::