结构,联合和枚举

C++的结构

•声明或定义结构型变量,可以省略struct关键字
•可以定义成员函数,在结构体的成员函数中可以直接访问该结构体的成员变量,无需通过“.”或“->”

struct User 
{ 
    char name[256]; 
    int age; 
    void who (void) 
    { 
        cout << "我是" << name << ",今年" << age << "岁。" << endl; 
    }
};

User user = {"张飞", 25}, *puser = &user; 
user.who (); 
puser->who ();

C++的联合

•声明或定义联合型变量,可以省略union关键字
•与其说匿名联合是一种类型定义,倒不如说是一种对多个变量在内存中布局方式的表达

union 
{ 
    int n; 
    char c[sizeof (n)]; 
};
n = 0x12345678;
for (size_t i = 0; i < sizeof (c); ++i) 
    printf ("%#x ", c[i]); // 0x78 0x56 0x34 0x12 
printf ("\n");

C++的枚举

•声明或定义枚举型变量,可以省略enum关键字
•C++中的枚举是一种独立的数据类型,整型不能隐式转换为枚举型

enum Color { RED, YELLOW, BLUE, WHITE, BLACK } color;

color = RED; 
color = 5; // 错误 
color = 0; // 错误

void foo (Color color); 
foo (RED); 
foo (5); // 错误 
foo (0); // 错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值