struct与class关键字的选择

Posted 大彤小忆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struct与class关键字的选择相关的知识,希望对你有一定的参考价值。

  struct表示数据的简单集合,公开定义数据成员,只定义用于初始化数据成员的方法(比如构造/析构函数,initialize(),reset(),validate())。
  class表示被封装的用户自定义类型,不公开定义非静态数据成员,一般通过成员方法进行交互。
  在C++中struct与class只有默认成员权限上的差别。但struct是从C语言中借来的概念,因此应该尽可能保持其语义与C语言中的一致——单纯的数据集合。
  示例:

//简单的数据聚合,没有动作
struct Coordinate{
    int x;
    int y;
    int z;
};

//有动作的对象
class Cat {
public:
    void meow ();
private:
    ...
};

以上是关于struct与class关键字的选择的主要内容,如果未能解决你的问题,请参考以下文章

数据结构编程中的struct能完全用class代替吗?

c++ struct与class

C++ class struct

10.6 C++类与结构体类型

对于struct和class的认识

前向声明时“struct”和“class”关键字是不是相同? [复制]