设为首页 加入收藏

TOP

4.4.4 其他结构属性
2013-10-07 15:41:57 来源: 作者: 【 】 浏览:87
Tags:4.4.4 其他 结构 属性

4.4.4  其他结构属性

C++(www.cppentry.com)使用户定义的类型与内置类型尽可能相似。例如,可以将结构作为参数传递给函数,也可以让函数返回一个结构。另外,还可以使用赋值运算符(=)将结构赋给另一个同类型的结构,这样结构中每个成员都将被设置为另一个结构中相应成员的值,即使成员是数组。这种赋值被称为成员赋值(memberwise assignment),将在第7章讨论函数时再介绍如何传递和返回结构。下面简要地介绍一下结构赋值,程序清单4.12是一个这样的示例。

程序清单4.12  assgn_st.cpp

 

下面是该程序的输出:

 

从中可以看出,成员赋值是有效的,因为choice结构的成员值与bouquet结构中存储的值相同。

可以同时完成定义结构和创建结构变量的工作。为此,只需将变量名放在结束括号的后面即可:

 

甚至可以初始化以这种方式创建的变量:

 

然而,将结构定义和变量声明分开,可以使程序更易于阅读和理解。

还可以声明没有名称的结构类型,方法是省略名称,同时定义一种结构类型和一个这种类型的变量:

 

这样将创建一个名为position的结构变量。可以使用成员运算符来访问它的成员(如position.x),但这种类型没有名称,因此以后无法创建这种类型的变量。本书将不使用这种形式的结构。

除了C++(www.cppentry.com)程序可以使用结构标记作为类型名称外,C结构具有到目前为止讨论的C++(www.cppentry.com)结构的所有特性(C++(www.cppentry.com)11特性除外),但C++(www.cppentry.com)结构的特性更多。例如,与C结构不同,C++(www.cppentry.com)结构除了成员变量之外,还可以有成员函数。但这些高级特性通常被用于类中,而不是结构中,因此将在讨论类的时候(从第10章开始)介绍它们。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.7.2 指针的危险 下一篇4.4.5 结构数组

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言中如何将结构体 (2025-12-24 22:20:09)
·纯C语言结构体成员变 (2025-12-24 22:20:06)
·C语言中,指针函数和 (2025-12-24 22:20:03)
·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)