C++ 中也有struct, 而这个struct 和C中的struct不同,是功能扩展了的struct,当时的背景主要是为了方便一些C程序员能够将C程序移植过来而无需重新写类,毕竟区别不大。
扩展的功能包括:
- 可以继承,均为public继承,里面的成员参数相当于类中的public 成员
- 包含成员函数, 成员函数也应该都是Public
- 可以实现多态
EOS的source 中广泛采用了struct,估计是一些source 从C移植过来的缘故
看一下EOS中的例子:
插图例子是EOS的Block中transaction 的定义,可以看到,甚至还有构造函数和析构函数。
再看一个有继承的例子:
スクリーンショット 2018-11-07 16.26.54.png
网友评论