构造函数

article/2025/9/26 2:10:39

构造函数在类体里的声明形式:
类名(形参一,形参二,…);//也可以没有形参


构造函数的定义形式:
假设数据成员为x1,x2,…x,类外定义构造函数时通常有3种形式:

1、类名::类名(形参1,形参2,…):x1(形参1),x2(形参2),…{ }

2、类名::类名(形参1.形参2,…){ x1=形参1; x2=形参2;…}

3、类名::类名()//成员变量所赋的初值都是固定的
{
x1=初始化表达式;
x2=初始化表达式;

}
在这里插入图片描述


说明:
1、构造函数的名字必须和类名相同;
2、在定义构造函数时不能指定返回类型,既不要返回值,即使是void类型也不可以。
3、另外类可有多个构造函数,即函数重载;或重载;
4、构造函数的参数在排列时无顺序要求,只要保证相互对应即可;
5、构造函数可以使用默认参数;
6、在程序中说明一个对象时,程序自动调用构造函数来初始化该对象;

注意:
自动调用类的后遭函数的时机是:

定义类的成员函数、成员对象及友元函数及友元函数时,均不调用类的构造函数。仅当定义类的对象时,才有系统自动调用类的构造函数。


构造函数的使用


注意:使用new创建对象时,下面两种都是合法的:

myData *pd=new myData()  //带括号
myData *pd=new myData

用户定义了构造函数,都会调用构造函数进行初始化;
用户未定义构造函数,对带括号的情况,系统在为成员变量分配内存的同时,将其初始化为0.不加括号时,系统只为成员变量分配内存空间,但不进行内存的初始化,成员变量的值是随机的。在这里插入图片描述


复制构造函数与类型转换构造函数


复制构造函数是构造函数的一种,也称为拷贝构造函数。
复制构造函数的作用:使用一个已存在的对象去初始化另一个正在创建的对象。

复制构造函数其原型为:
类名::类名(类名&//对象的引用作为形参
或类名::类名(const类名&//为了不改变原有对象,使用const限制

注意:如果类中没有给出复制构造函数,那么编译器会自动生成一个默认复制构造函数。

Student stud;
Student ss[2]={stud,Student()};
//创建ss[0]中的对象时,用到了默认复制构造函数。等效一下:
Student ss[2];
ss[0]=Student(stud);//调用默认复制构造函数
ss[1]=Student();//调用构造函数

析构函数


析构函数的作用是在对象消失时,释放由构造函数分配的内存;
析构函数在类体里的声明形式:~类名();
析构函数的定义形式:类名::~类名(){}
类只能定义一个析构函数,且不能有参数;
如果程序中没有定义析构函数,则编译器自动生成默认的析构函数,默认析构函数的函数体为空。


封闭类构造函数的初始化列表


在这里插入图片描述


http://chatgpt.dhexx.cn/article/Z4mKyGcT.shtml

相关文章

php类中的构造函数与析构函数

1.php类中的构造函数a.构造函数的定义及创建 构造函数的英文是constructor,通常是和析构函数配合使用的。 所谓构造函数,就是在我们这个类运行之初需要初始的东东,执行类中所有方法之前,无需首先执行的方法。看个例子,…

PHP笔记-PHP中构造函数要注意的地方

背景 这里记录下PHP中构造函数的注意点。 这里和C/C、Java不一样&#xff0c;比较灵活&#xff0c;估计是有隐式调用&#xff0c;在此不研究了&#xff0c;记录下注意的地方。 演示 如下项目&#xff1a; Base.php <?phpclass Base{public function __construct(){ech…

php构造方法(函数)基础

什么是构造函数呢?在回答这个问题之前&#xff0c;我们来看一个需求&#xff1a;我们在创建人类的对象时&#xff0c;是先把一个对象创建好后&#xff0c;再给他的年龄和姓名属性赋值&#xff0c;如果现在我要求&#xff0c;在创建人类的对象时&#xff0c;就指定这个对象的年…

ffmpeg编译安装

ffmpeg编译安装 前言一、下载ffmpeg二、编译安装2.1 Linux编译ffmpeg2.2 Windows编译ffmpeg 总结 前言 Fmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它…

在Windows上安装FFmpeg程序

原文地址:http://helloway.blog.51cto.com/7666282/1642247 FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec。 该程序只有命令…

【最新】windows电脑FFmpeg安装教程手把手详解

【最新】FFmpeg安装教程手把手详解 写在前面一、下载&解压二、配置环境变量1、配置系统环境变量 三、验证额外补充 写在前面 本文以 Windows 64 位操作系统为例演示 一、下载&解压 打开 FFmpeg 官网&#xff0c;选择下载。 选择 Windows 平台&#xff0c;下面有两…

FFmpeg 安装与使用

官方介绍&#xff08;可忽略&#xff09; FFmpeg是处理多媒体内容&#xff08;如音频、视频、字幕和相关元数据&#xff09;的库和工具的集合。它功能非常强大&#xff0c;包括视频裁剪、视频格式转换、视频截图、视频添加水印等。 它包含可供应用程序使用的libavcodec、libavu…

ffmpeg安装教程及配置环境

1.下载ffmpeg安装包 官网如下&#xff1a;https://ffmpeg.org/download.html 记住这个目录&#xff1a;E:\ffmpeg-4.4-essentials_build\bin 4. 5.打开 winR&#xff0c;cmd命令下检验 输入ffmpeg 此时安装&#xff0c;以及配置成功

Mac版 下载安装FFmpeg

​​​​​​​​​​​​​​本篇是在mac版下安装FFmpeg的&#xff0c;如果你的电脑为windows版的话&#xff0c;请移步到这篇文章ffmpeg下载安装教程及介绍_水w的博客-CSDN博客 目录 安装FFmpeg 方式一&#xff1a;官网下载安装 方式二&#xff1a;使用Homebrew安装FFmpeg…

Windows安装ffmpeg

目录&#xff1a; 一、官网下载ffmpeg安装包1、打开官网下载&#xff08;用迅雷下载会比谷歌浏览器下载快一点&#xff09;2、解压到想要安装的文件夹 二、添加环境变量1、打开安装目录下的bin文件夹&#xff0c;复制路径2、打开环境变量页面 三、测试 一、官网下载ffmpeg安装包…

2.ffmpeg安装(Ubuntu20.04 )

Ubuntu20.04安装ffmpeg 1.下载源码包2.解压安装依赖库 3.编译3.1 安装 yasm3.2 配置3.3 编译安装 4.添加环境变量4.1 修改环境变量4.2 在文件中添以下内容。4.3 设置生效 5.验证是否成功5.1 无法打开共享库文件5.2 测试是否配置成功 注意 1.下载源码包 进入官网 https://ffmpe…

ffmpeg的安装和使用教程

ffmpeg的安装和使用教程 1.进入ffmpeg官网&#xff0c;下载相应的安装包,windows和mas以及linux&#xff0c;32位和64位版本! 2.将下载好的压缩包进行解压 3.进入bin目录&#xff0c;复制好bin目录的路径 4.右击此电脑&#xff08;win7就是计算机&#xff09;&#xff0c;选择…

ffmpeg的安装与使用

一、ffmpeg的简介 FFmpeg是一个自由软件&#xff0c;可以运行音频和视频多种格式的录影、转换、流功能&#xff0c;包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库&#xff0c;以及libavformat——一个音频与视频格式转换库。 主要参数 -i——设置输入档名…

三、FFmpeg安装

1. FFmpeg介绍 FFmpeg是一个完整的、跨平台的解决方案&#xff0c;用于记录、转换和流化音/视频。 FFmpeg 采用 LGPL 或 GPL 许可证&#xff0c;提供了录制、转换及流化音/视频的完整解决方案。其包含了非常先进的音&#xff0f;视频编解码库 libavcodec。 FFmpeg 是在 Linux …

windows ffmpeg安装部署

目录 安装包下载 解压安装包 配置环境变量 总结 安装包下载 作为音视频处理重要软件ffmpeg&#xff0c;是一定要装好的。 windows安装包下在链接&#xff1a;资源包地址 解压安装包 下载安装包后解压到需要的目录。 配置环境变量 找到控制面板 -> 点击系统 -> 点击…

ffmpeg安装及使用

下载 下载地址&#xff1a;https://ffmpeg.org/download.html 然后按照下图点击&#xff0c;找到Release部分下载一个即可。 安装 所谓安装就是解压并配置“path”环境变量 将安装包解压至任意目录&#xff0c;比如我这里是D:\Program\ffmpeg-5.0.1-full_build 按照以下顺…

ffmpeg详细安装教程,亲测有效!

这两天整理好用的录屏软件&#xff0c;发现了Captura这个软件&#xff0c;软件本身的安装很简单&#xff0c;但由于Captura需要依赖ffmpeg&#xff08;一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序&#xff09;&#xff0c;而ffmpeg在安…

ffmpeg的下载及安装

最近在处理一些音频数据&#xff0c;ffmpeg是一款非常好用处理音视频的工具包。那什么是ffmpeg呢&#xff1f;FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序&#xff0c;可以结合Java开发一些处理视频音频的功能。 1.ffmpeg下载…

如何安装ffmpeg,详细安装教程,亲测有效

今天在下载网上视频的时候&#xff0c;发现下载的是ts文件 想要转换mp4 文件需要安装ffmpeg 网上找了很多方法&#xff0c;整理出ffmpeg的安装方法&#xff0c;详细讲解如下。 1、下载ffmpeg 到ffmpeg官网https://ffmpeg.org/download.html&#xff0c;按照箭头点击下载安装包 …

C语言 不使用strcpy 函数实现字符串复制功能

Ⅰ &#xff09;字符串复制函数 字符串复制是字符串操作中比较常用的操作之一。C语言库函数中提供的字符串复制函数是&#xff1a;strcpy函数。该函数的功能为&#xff1a;把源字符数组中的字符串复制到目的字符数组中&#xff0c;字符串结束标志“\0”也一同复制。下面实例为通…