首页 > 试题广场 >

在c++中的结构体是否可以有构造函数?

[单选题]
在c++中的结构体是否可以有构造函数?
  • 不可以,结构类型不支持成员函数
  • 可以有
  • 不可以,只有类允许有构造函数
C中的结构体没有函数 但是C++的结构体可以有函数;这是C与C++结构体的区别。
C++的结构体可以被类取代,因为类相对于结构体 具有封装性等优势。
C++中结构体与类的区别:
结构体中的成员访问权限不声明时候默认是 公开的;而类 是私有的
发表于 2015-09-05 16:50:39 回复(1)
    • 在c++中类和结构体的唯一区别是
      • 默认状态下,类中的成员默认是私有的,结构体中的成员默认是公有的。
    • c++中的结构体和c中的结构体的区别
      • c++中的结构体引入了成员函数,继承,访问控制等面向对象的特性
      • c中的空结构体的大小为0,c++中的空结构体和空类一样,大小是1
    • c++中空类的大小是1的原因
      • 空类可以实例化成不同的对象,不同的对象在内存中的地址不同,所以隐含地加入一个字节来标识不同的对象。
编辑于 2020-03-07 20:36:38 回复(0)
可以存在。
for example:
 // Definition for singly-linked list.
  struct ListNode {
      int val;
      ListNode *next;
      ListNode(int x) : val(x), next(NULL) {}
  };

发表于 2016-10-19 14:37:44 回复(0)
可以有、二者的默认访问权限和默认继承属性不一样、类是默认公有继承和访问私有的、结构体是默认私有继承和访问公有的。
发表于 2017-09-08 16:36:13 回复(1)
在C++里面,结构体和类唯一区别地方在于,结构体的默认成员属性是公有的,而类是私有的。其他什么构造函数呀这些,类有的,结构体都可以有~
发表于 2021-04-04 16:13:45 回复(0)
在C++中,struct和class唯一区别,默认权限不同,切记切记切记。struct默认权限public,而class默认private。
发表于 2018-08-16 16:21:48 回复(0)
可以有
发表于 2020-09-02 18:12:42 回复(0)
结构体的默认成员属性是公有的,类是私有的
发表于 2022-01-26 15:51:06 回复(0)

在C++中,类(class)和结构体(struct)都是用于定义自定义的数据类型的关键字。它们有一些相似之处,也有一些区别。

相似之处:

  1. 成员变量:类和结构体都可以包含成员变量,用来存储数据。
  2. 成员函数:类和结构体都可以包含成员函数,用于操作数据。

区别:

  1. 默认访问权限:在类中,默认情况下成员的访问权限是私有(private),而在结构体中,默认情况下成员的访问权限是公有(public)。
  2. 类型传递:类的实例对象在函数参数传递或赋值时是按值传递的,而结构体的实例对象是按值传递的。也就是说,类的实例对象在传递过程中会调用复制构造函数,而结构体则直接进行值的拷贝。
发表于 2023-11-29 19:40:37 回复(0)
C++的结构体,其实就是类 或者说c++没有结构体,用struct和class定义的都叫类
发表于 2018-05-17 11:53:01 回复(0)
可以有
发表于 2015-09-05 13:17:39 回复(0)