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

相关文章
|
6月前
|
编译器 C++
struct 和 typedef struct 区别和用法总结
struct 和 typedef struct 区别和用法总结
103 0
|
存储 iOS开发
05-Class的结构以及class_rw_t和class_ro_t的区别
05-Class的结构以及class_rw_t和class_ro_t的区别
87 0
C4.
|
6月前
|
C++ 开发者
C++ struct与class
C++ struct与class
C4.
48 0
|
6月前
|
编译器 C++
c++中typename和class的区别
c++中typename和class的区别
58 0
|
6月前
|
C++ 开发者
类和对象一封装一c++中class和struct的区别
类和对象一封装一c++中class和struct的区别
32 0
|
6月前
来自C++primer5 的struct和class定义类的区别
来自C++primer5 的struct和class定义类的区别
34 0
类和对象-封装-struct和class的区别
类和对象-封装-struct和class的区别
40 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 可以使用模板,
135 0
17-类和对象-封装-class和struct的区别
17-类和对象-封装-class和struct的区别
|
Java Spring
FileSystemResource和ClassPathResource有何区别?
FileSystemResource和ClassPathResource有何区别?
FileSystemResource和ClassPathResource有何区别?