C++ 中的结构体构造函数
这篇文章将讨论 struct 的使用以及使用 C++ 添加构造函数。
C++结构体简介
struct 代表结构,是组合了一些基本类型变量的用户定义数据类型。 这些变量混合起来形成一个新的单元。
它也有一个用户定义的名称。 声明结构体的语法如下:
struct structName {
data-type var_1;
data-type var_2;
.... ....
date-type var_N
};
上面的语法表明该结构具有用户定义的名称和一些变量集。 这些变量可以是一些原始数据类型,也可以是一些其他用户定义的类或结构变量。
结构可以具有所有或任何数据成员、成员函数、构造函数、析构函数、运算符、事件和任何嵌套数据类型。 声明结构后,可以使用或不使用 new 关键字来创建其对象,如下所示:
structName objectName = new structName();
或者
structName objectName;
不同的是,如果我们用new初始化对象,那么默认的构造函数会被调用,所有的数据成员都会被分配一些值,而如果我们不使用new,那么数据成员将保持未分配状态。
C++ 中的结构体构造函数
构造函数是使用 new 关键字创建对象时隐式调用的成员函数。 这些成员函数用于将值初始化为结构的数据成员。
此外,我们可以在结构中拥有默认构造函数和参数化构造函数。 声明构造函数的语法如下:
struct structName{
datatype var1;
structName(){
var1 = [some-value];
}
};
上面的伪代码显示了声明默认构造函数的语法。 实际代码如以下示例所示:
struct Square{
float sides;
Square(){
sides = 0;
}
Square(int s){
sides = s;
}
};
在上面的代码中,我们声明了两个构造函数,一个是默认的,另一个是参数化的。 创建结构体对象:
int main()
{
Square s1 = new Square(); //default constructor called
Square s2 = new Square(5); //parameterized constructor called
Square s3; // No constructor called
}
相关文章
单链表的 C++ 复制构造函数
发布时间:2023/08/31 浏览次数:59 分类:C++
-
本文将首先讨论链表数据结构的概念以及使用它的合适场景。 然后,我们将讨论使用 C++ 的单链表和单链表的复制构造函数的紧凑实现。
C++ 中的结构体继承
发布时间:2023/08/27 浏览次数:85 分类:C++
-
结构体和类很相似,但不同之处在于它们对面向对象编程中其他类或函数的可访问性。默认情况下,结构被指定为公共的,而类是私有的。 并且在继承中,我们不能继承私有指定的类; 我们必
C++ 结构体默认值初始化
发布时间:2023/08/26 浏览次数:209 分类:C++
-
本文将介绍如何在 C++ 中初始化结构体中的默认值。在 C++ 中初始化结构中的默认值 初始化默认值主要有两种方法; 第一个是使用构造函数,第二个是不使用构造函数。
C++ 中结构体和类的区别
发布时间:2023/08/23 浏览次数:52 分类:C++
-
本文解释了 C++ 中结构体和类之间的区别。 本文是针对最新版本的 C++ 编写的; 旧版本中的结构和类之间存在更多限制和差异。在大多数情况下,结构与类非常相似,但差异很少。 让我们一一
Java中的抽象类构造函数
发布时间:2023/08/11 浏览次数:144 分类:Java
-
构造函数用于初始化由其名称调用的对象,构造函数的名称与类的名称相同。抽象类是用abstract关键字声明的,抽象类也有一个构造函数,如果我们在抽象类中没有定义任何构造函数,那么JVM会
在 Kotlin 中继承具有多个构造函数的类
发布时间:2023/05/12 浏览次数:239 分类:Java
-
本文讨论如何扩展具有多个构造函数的类。 构造函数是在创建对象时调用的函数,用于初始化类变量。在 Kotlin 中扩展具有多个构造函数的类
Kotlin Init 和构造函数之间的区别
发布时间:2023/05/12 浏览次数:180 分类:Java
-
构造函数和 Kotlin init 块是这种编程语言的重要组成部分。 本文概述了 init 和构造函数之间的区别。