论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的

相关文章
|
2月前
|
Swift
Swift 中 struct(结构体)和 class(类)的区别
【10月更文挑战第10天】理解 struct 和 class 的区别对于正确使用 Swift 语言进行编程非常重要。在实际开发中,需要根据具体的需求和场景来选择合适的数据类型,以充分发挥它们的优势,提高代码的质量和效率。
|
7月前
|
编译器 C++
struct 和 typedef struct 区别和用法总结
struct 和 typedef struct 区别和用法总结
145 0
C4.
|
7月前
|
C++ 开发者
C++ struct与class
C++ struct与class
C4.
52 0
|
7月前
|
C++ 开发者
类和对象一封装一c++中class和struct的区别
类和对象一封装一c++中class和struct的区别
38 0
|
7月前
|
编译器 C++
c++中typename和class的区别
c++中typename和class的区别
67 0
|
7月前
|
存储 数据处理 Swift
在Swift中,类(class)和结构体(struct)
在Swift中,类(class)和结构体(struct)
78 1
|
7月前
来自C++primer5 的struct和class定义类的区别
来自C++primer5 的struct和class定义类的区别
37 0
类和对象-封装-struct和class的区别
类和对象-封装-struct和class的区别
46 0
|
编译器 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 可以使用模板,
143 0
17-类和对象-封装-class和struct的区别
17-类和对象-封装-class和struct的区别