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

时间:2022-06-01 20:31:20
我在一个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) {};
};

6 个解决方案

#1


这不是结构体吧,这是所有成员默认共有的类定义吧,底下是它的构造函数……

#2


引用 1 楼 u011054333 的回复:
这不是结构体吧,这是所有成员默认共有的类定义吧,底下是它的构造函数……

不懂,c语言怎么实现呢?我要是在C语言中实现是不是定义一个结构体,然后把结构体中的成员全部赋值为0,等同他这种写法啊?

#3


  RGBTriplet(int _r = 0, int _g = 0, int _b = 0) : r(_r), g(_g), b(_b) {};
这是这狗函数,前面的参数列表表示子类的子类的参数类表, : 后面的是父类构造函数的参数类表

#4


C++的结构体就是类,楼主列出的代码中,红色的是该类的构造函数
如果楼主不懂什么是构造函数(即完全没有C++基础知识),那还是不要看C++代码了

#5


引用 4 楼 baichi4141 的回复:
C++的结构体就是类,楼主列出的代码中,红色的是该类的构造函数
如果楼主不懂什么是构造函数(即完全没有C++基础知识),那还是不要看C++代码了

是不是在构造函数里将结构体的程序赋值啊,同时根据需要在构造函数中添加自己需要的代码吗?这个代码也只是一部分,没有给出构造函数的部分。

#6


引用 5 楼 come_onzhang 的回复:
Quote: 引用 4 楼 baichi4141 的回复:

C++的结构体就是类,楼主列出的代码中,红色的是该类的构造函数
如果楼主不懂什么是构造函数(即完全没有C++基础知识),那还是不要看C++代码了

是不是在构造函数里将结构体的程序赋值啊,同时根据需要在构造函数中添加自己需要的代码吗?这个代码也只是一部分,没有给出构造函数的部分。

额,我建议你还是先看看面向对象编程吧……这个构造函数应该是写全了,用了初始化列表初始化,相当于把那几个成员变量赋值成0,函数体里不需要写东西

#1


这不是结构体吧,这是所有成员默认共有的类定义吧,底下是它的构造函数……

#2


引用 1 楼 u011054333 的回复:
这不是结构体吧,这是所有成员默认共有的类定义吧,底下是它的构造函数……

不懂,c语言怎么实现呢?我要是在C语言中实现是不是定义一个结构体,然后把结构体中的成员全部赋值为0,等同他这种写法啊?

#3


  RGBTriplet(int _r = 0, int _g = 0, int _b = 0) : r(_r), g(_g), b(_b) {};
这是这狗函数,前面的参数列表表示子类的子类的参数类表, : 后面的是父类构造函数的参数类表

#4


C++的结构体就是类,楼主列出的代码中,红色的是该类的构造函数
如果楼主不懂什么是构造函数(即完全没有C++基础知识),那还是不要看C++代码了

#5


引用 4 楼 baichi4141 的回复:
C++的结构体就是类,楼主列出的代码中,红色的是该类的构造函数
如果楼主不懂什么是构造函数(即完全没有C++基础知识),那还是不要看C++代码了

是不是在构造函数里将结构体的程序赋值啊,同时根据需要在构造函数中添加自己需要的代码吗?这个代码也只是一部分,没有给出构造函数的部分。

#6


引用 5 楼 come_onzhang 的回复:
Quote: 引用 4 楼 baichi4141 的回复:

C++的结构体就是类,楼主列出的代码中,红色的是该类的构造函数
如果楼主不懂什么是构造函数(即完全没有C++基础知识),那还是不要看C++代码了

是不是在构造函数里将结构体的程序赋值啊,同时根据需要在构造函数中添加自己需要的代码吗?这个代码也只是一部分,没有给出构造函数的部分。

额,我建议你还是先看看面向对象编程吧……这个构造函数应该是写全了,用了初始化列表初始化,相当于把那几个成员变量赋值成0,函数体里不需要写东西