【发布时间】:2016-01-02 12:58:39
【问题描述】:
在阅读一本书时,我遇到了以下几行:
C++ 中的结构和类之间的语法差异非常小,因此,只需稍作修改,它们就可以互换使用。结构体和类的唯一区别在于,默认情况下,类的成员是私有的,而默认情况下,结构体的成员是公共的。
但是,我的老师告诉我,我们不能在结构中使用函数。我读过的这本书很受欢迎,我认为上面写的是正确的。 结构内部可以有功能吗?如果是,请留下示例或参考链接。
【问题讨论】:
-
你的老师错了。但是,这本书也不太对;除了
structs 的默认访问是公开的,默认继承也是公开的。 -
@PeteBecker 谢谢!
-
嗯,你有两个选择:换老师或者买另一本书(这次大概是C,但保留其他)... ;)。开个玩笑,也许你的老师正在解释 C 和 C++ 之间的区别(好主意),或者他的课程打算从简要介绍 C 语言开始,然后他将介绍 C++(恕我直言,这不是一个好主意)。
-
@Bob__ 我请老师澄清我的疑问,并展示了示例程序。她说,“你会得到输出,但你不应该那样做。永远不要再那样做。”此外,她给了我三个不同之处,其中之一是“类可以包含函数和变量,但结构只能包含变量。” .它只是 C++,从未向我们介绍过 C。
-
你的老师需要老师。正如所有答案所指出的那样,在 C++ 中,结构可以具有成员函数,因为这些函数不亚于具有成员默认公共可见性的类。也许这对她来说是一个风格惯例问题,但规则很明确。