21xrx.com
2024-11-05 18:50:03 Tuesday
登录
文章检索 我的文章 写文章
C++中struct和class的区别简介
2023-07-05 04:22:26 深夜i     --     --
C++ struct class 区别 简介

C++中struct和class都是用来定义自定义数据类型的关键字,但是两者在用法上有所不同,这篇文章将简要介绍他们的区别。

首先,C++中的struct和class的目的是相同的,都是用来封装相关的数据和函数,以便在程序中方便地使用。然而,它们之间的最大区别在于默认访问权限。在struct中,默认的所有成员变量和函数都是公共的,而在class中则默认为私有。

例如,下面的代码展示了一个struct和一个class的实现,来展示两者之间的区别:


struct Rectangle {

  int width;

  int height;

  int area() {

    return width*height;

  }

};

class Square {

  int side;

public:

  int area() {

    return side*side;

  }

};

在上述代码中,struct Rectangle定义了width、height和一个计算面积的函数area(),而在class Square中定义了一个私有的变量side和一个计算面积的函数area()。这就意味着我们可以直接访问一个Rectangle对象的width和height成员变量,但是我们不能够直接访问Square对象的side成员变量,因为它是私有的。

除了默认访问权限,struct和class还有其他一些不同之处。例如,在继承方面,class允许多重继承,而struct则不允许。此外,在类的定义中默认访问标识符可以使用关键字public、protected和private来指定。

综上所述,虽然struct和class都用来定义自定义数据类型,但是它们在默认访问权限和其他一些方面有所不同。程序员应该根据实际需求选择使用哪种关键字。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复