论class和struct的区别

简介: 论class和struct的区别

最近也是感觉c++中class和struct的用法十分相似,但是为什么有了struct还要有class?
其中最本质的区别是class的默认是private,而struct是public
其实,C和C++这两种 语言,除了语法上相似,其理念是完全不同的。C++最初的想法就是对C进行扩充——“a better c”,但事实上,这样的“扩充”已经不能再称之为扩充了,我更愿意把C++当成是一种新的语言,而不仅仅是扩充。又或许,C++和C最大的关系,只是他们 的名字,如果C++不叫C++,而叫D++,你可能就不会将它们俩的关系想得那么的紧密了。当然,这些话只是调侃,C++的确是在C的基础上发展起来的。
struct A{};

class B : A{}; //private继承

struct C : B{}; //public继承
struct作为数据结构的实现体,它默认的数据访问控制是public的,而class作为对象的实现体,它默认的成员变量访问控制是private的

相关文章
C4.
|
2月前
|
C++ 开发者
C++ struct与class
C++ struct与class
C4.
23 0
|
2月前
|
C++ 开发者
类和对象一封装一c++中class和struct的区别
类和对象一封装一c++中class和struct的区别
16 0
|
2月前
|
编译器 C++
c++中typename和class的区别
c++中typename和class的区别
27 0
|
4月前
来自C++primer5 的struct和class定义类的区别
来自C++primer5 的struct和class定义类的区别
14 0
|
8月前
|
存储 iOS开发
05-Class的结构以及class_rw_t和class_ro_t的区别
05-Class的结构以及class_rw_t和class_ro_t的区别
49 0
|
6月前
|
存储 C语言
常见关键字 typedef以及static的介绍
常见关键字 typedef以及static的介绍
35 0
|
8月前
类和对象-封装-struct和class的区别
类和对象-封装-struct和class的区别
27 0
|
9月前
|
编译器 C语言 C++
C++中的 class和struct区别
C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。 C++中的 struct 和 class 基本是通用的,唯有几个细节不同: 使用 class 时,类中的成员默认都是 private 属性的;而使用 struct 时,结构体中的成员默认都是 public 属性的。 class 继承默认是 private 继承,而 struct 继承默认是 public 继承(《C++继承与派生》一章会讲解继承)。 class 可以使用模板,
89 0
|
12月前
17-类和对象-封装-class和struct的区别
17-类和对象-封装-class和struct的区别
|
JSON 网络协议 JavaScript
序列化 struct 时 tag 的使用 | 学习笔记
快速学习序列化 struct 时 tag 的使用
79 0
序列化 struct 时 tag 的使用 | 学习笔记