C++和C中的struct 和public有什么区别

在C++和C语言中,structpublic 关键字分别具有不同的作用,它们的主要区别在于以下方面:

  1. struct(结构体):

    • 在C语言中,struct 用于定义自定义的复合数据类型,可以包含不同类型的成员变量。C语言中的结构体默认成员是公共的,也就是说,在结构体外部可以直接访问其成员。

    • 在C++中,struct 也可以用来定义类似于C语言中的结构体,但与C语言不同的是,C++中的结构体可以包含函数(成员函数),称为"成员函数"。C++中的结构体默认的成员访问级别是 public,这意味着结构体的成员在外部是公开可见的,可以直接访问。

  2. public

    • 在C++中,public 是一个访问修饰符,用于声明类的成员的访问级别。public 成员可以被类的外部代码访问。

    • 在C语言中,public 关键字不存在。在C中,结构体中的所有成员都是默认公共的,因此任何文件中的代码都可以访问结构体的成员。

因此,主要区别在于C++中的结构体默认成员访问级别是 public,而C语言中的结构体成员默认是公共的,没有访问修饰符的概念。

相关推荐
艾莉丝努力练剑21 小时前
【C++】类和对象(下):初始化列表、类型转换、Static、友元、内部类、匿名对象/有名对象、优化
linux·运维·c++·经验分享
疋瓞21 小时前
C++_STL和数据结构《1》_STL、STL_迭代器、c++中的模版、STL_vecto、列表初始化、三个算法、链表
数据结构·c++·算法
三体世界21 小时前
测试用例全解析:从入门到精通(1)
linux·c语言·c++·python·功能测试·测试用例·测试覆盖率
Bear on Toilet21 小时前
继承类模板:函数未在模板定义上下文中声明,只能通过实例化上下文中参数相关的查找找到
开发语言·javascript·c++·算法·继承
程序员东岸1 天前
C语言入门指南:字符函数和字符串函数
c语言·笔记·学习·程序人生·算法
努力努力再努力wz1 天前
【c++进阶系列】:map和set的模拟实现(附模拟实现的源码)
java·linux·运维·开发语言·c++
lingran__1 天前
速通ACM省铜第三天 赋源码(Double Perspective和Trip Shopping和Hamiiid, Haaamid... Hamid?)
c++·算法
凤城老人1 天前
C++使用拉玛努金公式计算π的值
开发语言·c++·算法
YaoYuan93231 天前
C++ 类型推导(第一部分)
c++
夜猫逐梦1 天前
【VC】 error MSB8041: 此项目需要 MFC 库
c++·mfc