关于C++中结构体的定义

[复制链接]
 楼主| 司空落星 发表于 2014-5-23 10:23 | 显示全部楼层 |阅读模式
我在一个C++例程中看到这样的定义,哪位知道红色标记位置是什么意思啊
struct RGBTriplet
{
    int r;
    int g;
    int b;
    RGBTriplet(int _r = 0, int _g = 0, int _b = 0) : r(_r), g(_g), b(_b) {};
};
tomhe666 发表于 2014-5-23 10:46 | 显示全部楼层
没看到红色部分, 如果指是括号内最后一句话, 是C++对C的扩展,结构体也可以有构造函数,用于在定义结构体时初始化成员变量
 楼主| 司空落星 发表于 2014-5-23 10:50 | 显示全部楼层
tomhe666 发表于 2014-5-23 10:46
没看到红色部分, 如果指是括号内最后一句话, 是C++对C的扩展,结构体也可以有构造函数,用于在定义结构体时初 ...

就是你说的那句,我要是在C语言中实现是不是定义一个结构体,然后把结构体中的成员全部赋值为0,等同他这种写法啊?
tomhe666 发表于 2014-5-23 10:58 | 显示全部楼层
C++结构体的构造函数中你可以做的不仅仅是赋值
 楼主| 司空落星 发表于 2014-5-23 11:01 | 显示全部楼层
tomhe666 发表于 2014-5-23 10:58
C++结构体的构造函数中你可以做的不仅仅是赋值

你是说在这个结构体的构造函数中还能做其他的操作,只要往里面添加就行,是这个样子吗?
tomhe666 发表于 2014-5-23 11:25 | 显示全部楼层
是的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部