luqingfei@C++

为中华之崛起而崛起!
兼听则明,偏听则暗。

C++中复杂的结构

结构的数据成员可以是任何类型,包括联合(union)和其他结构。
声明一个复杂点的结构,它有两个成员,第一个成员是一个联合,第二个成员是枚举。
enum Type {Double, Float, Long, Int};
stuct SharedData {
        union {
                double dData;
                float fData;
                long lData;
                int iData;
        };
        Type type;
};

注意,SharedData的联合成员是匿名的,这表示在引用SharedData类型的对象的联合成员时,不必指定联合名。

练习题:
扩展上面的SharedData结构及相关的枚举类型,以存储4种类型的指针。测试一下,看看是否能存储变量的指针。

参考答案:
shareddata.h

shareddata.cpp

main.cpp


输出结果:

Double value is 0.1

Pointer to int value is 99

Pointer to long value is 9999999

Pointer to double value is 1.618

Pointer to float value is 3.1415

posted on 2009-02-24 15:36 luqingfei 阅读(234) 评论(0)  编辑 收藏 引用 所属分类: C++基础


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2009年2月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
1234567

统计

留言簿(6)

随笔分类(109)

随笔档案(105)

Blogers

Game

Life

NodeJs

Python

Useful Webs

大牛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜