结构与类
可能重复:
C / C ++结构与类
C ++中的POD类型是什么?
嗨,
在C ++ In a Nutshell的书中 ,在第6章:类中 ,在Access的说明符下 ,提到了以下内容:
在类定义中,成员和基类的默认访问是私有的。 在结构体定义中,默认是公共的。 这是一个类和一个结构之间的唯一区别 ,尽管按照惯例,一些程序员只对POD类使用结构,对所有其他类使用类 。
我在这里的问题是:
谢谢。
另一个区别是
template<class T> ...
是允许的,但是
template<struct T> ...
不是。
您可以向自己证明,尝试在结构中定义函数没有其他区别。 我记得甚至我的大学教授正在用C ++教授关于结构和类的知识,也很惊讶(学生纠正后)。 不过,我相信它。 这很有趣。 教授一直在说什么差异,学生一直说“实际上你也可以在结构中做到这一点”。 最后,教授。 问:“好的,有什么区别”,学生告诉他,唯一的区别是成员的默认访问。
谷歌快速搜索表明,POD代表“普通旧数据”。
POD类是只有数据成员而没有别的普通旧数据类。 有关于相同的stackoverflow有几个问题。 在这里找到一个。
此外,您可以将函数作为C ++中的结构体的成员,但不包含在C中。您需要具有指向C中结构体中成员函数的指针。
链接地址: http://www.djcxy.com/p/40303.html上一篇: struct vs. class
下一篇: ness" in c++/c++11?