关于C ++中结构的问题

时间:2011-02-18 21:21:22

标签: c++ struct

结构体是否与类同名?

我是否可以将结构传递给函数?

结构是轻量级的吗?基本上没有功能。它是一个容纳变量的容器。我只是想知道我是否创建了一个函数,我可以传入一个像通常传入任何其他对象的结构吗?

6 个答案:

答案 0 :(得分:5)

在C ++中,structclass实际上完全相同。唯一的区别是默认情况下struct的成员为public,默认情况下class的成员为private

您可以使用它们与使用类完全相同的方式。它们确实需要唯一的名称(在同一名称空间中),因此您不能让结构使用与类相同的名称。

答案 1 :(得分:1)

是的,您可以像任何其他变量一样传递结构。据我所知,我相信你不能把它们命名为同一类,但你甚至不应该这样。

答案 2 :(得分:1)

类和结构本质上是C ++中的同义词;它们可以包含函数,构造函数,析构函数,运算符重载,继承,朋友等。唯一的区别是默认访问(分别为privatepublic)和默认继承类型。

所以不,他们不能有相同的名字!

是的,您可以通过值,指针或引用将结构/类对象传递给函数。

答案 3 :(得分:1)

基本上结构和类是相同的。区别在于struct默认成员为公共访问

答案 4 :(得分:0)

是结构可以传递。该结构不应包含与该类相同的名称。这是一个关于传递结构的线程:Passing a struct with multiple entries in c++

答案 5 :(得分:0)

没有。名称是唯一标识符。你不能用与char相同的名称命名int,是吗? (答案是否)

结构可以有函数,你可以将它们传递给函数,就像任何其他变量一样。