结构与类

可能重复:
C / C ++结构与类
C ++中的POD类型是什么?

嗨,

C ++ In a Nutshell的书中 ,在第6章:类中 ,在Access的说明符下 ,提到了以下内容:

在类定义中,成员和基类的默认访问是私有的。 在结构体定义中,默认是公共的。 这是一个类和一个结构之间的唯一区别 ,尽管按照惯例,一些程序员只对POD类使用结构,对所有其他类使用

我在这里的问题是:

  • 类和结构之间没有另外的区别,因为结构不包含函数并只保存数据?
  • 什么是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?