struct和class的区别

在C++里struct关键字与class关键字一般可以通用的。struct和class的区别:struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体。struct没有继承,没有封装,要说封装只有初步封装。而class把数据,接口可以以三种类型封装,private,public,protected;还可以继承和派生。class是引用类型,而struct是值类型。

struct和class的区别

class有默认的无参构造函数,有析构函数,struct没有默认的无参构造函数,且只能声明有参的构造函数,没有析构函数;class可以使用abstract和sealed,有protected修饰符,struct不可以用abstract和sealed,没有protected修饰符。

struct和class的区别

它们都可以提供自己的接口函数,构造函数。一个类可以由结构继承而来。struct只能叫做数据的集合,外部可以任意访问,但是类就完成了封装,维护了数据安全,这就是面向对象的理念。

struct和class的区别

class实例由垃圾回收机制来保证内存的回收处理,而struct变量使用完后立即自动解除内存分配;从职能观点来看,class表现为行为,而struct常用于存储数据。


本文出处:https://www.xxk520.com/xxk/19869.html

关注微信