【发布时间】:2014-08-03 12:22:01
【问题描述】:
我对 struct 和 class 之间的区别感到非常困惑,因为我似乎看到它们用于几乎相同的事情。我用谷歌搜索了差异,我看到的唯一答案是结构默认具有公共成员,而类默认具有私有成员。但是,我的讲师刚刚告诉我,结构不能包含成员函数。但是我在互联网上看到了很多线程,人们在结构中包含成员函数,并明确表示可以这样做。
我的讲师似乎坚持认为,根据定义,结构不能具有函数,所以这是怎么回事?我唯一能想到的可能是编译器将结构中的函数更改为其他内容,以便它们在技术上不包含函数......这些矛盾有明确的答案吗?
【问题讨论】:
-
也许他们的意思是 C.
-
如果这应该是 C++ 课程,请立即放弃。
-
将您的讲师指向此文档。 isocpp.org/files/papers/N3797.pdf -- C++ 标准的工作草案,第 9 章。类和结构这两个词大多可以互换使用。第 3 段甚至有一个带有成员函数的结构示例。
-
唯一真正的区别是结构继承默认是公共的(因为它是默认的成员访问),而类是私有的。除此之外,它们完全相同。 @aschepler,当场!
标签: c++ class struct member-functions