相关疑难解决方法(0)

C++结构的"可接受"功能是多少?

我的第一篇文章所以请你放轻松!

我知道C++中的结构和类之间没有真正的区别,但包括我在内的很多人使用结构或类来显示意图 - 用于分组"普通旧数据"的结构和用于具有有意义操作的封装数据的类.

现在,这很好但是你在什么时候开始认为某些东西不仅仅是一个结构而且应该成为一个类?

我认为结构有合理的事情:

  1. 构造函数只有简单的初始化代码.
  2. 序列化代码,例如流插入/提取运算符.

我不太确定的事情,但可能会这样做:

  1. 比较运算符
  2. 简单的转换函数 - 例如,在从外部源接收数据后,以字节为单位等待所有成员.

我不认为结构应该有:

  1. 动态内存分配.
  2. 析构函数.
  3. 复杂的成员函数.

边界在哪里?

另外,将类实例作为结构的成员是否合理?例如

class C {private: int hiddenData; public: void DoSomething();};

struct S {int a; float b; C c; };

S s; s.c.DoSomething();
Run Code Online (Sandbox Code Playgroud)

记住,我不是关于你可以用C++做什么,我对你在设计好的软件时应该做些什么感兴趣.

思考?

c++ oop struct

16
推荐指数
3
解决办法
1350
查看次数

标签 统计

c++ ×1

oop ×1

struct ×1