再看C、C++、数据结构(三)
上篇讲到了6点,下面接着描述C与C++的不同:
7、结构体
对于C和C++都有结构体,但是C++比C的结构体有一个非常好的特性,就是可以定义成员函数,还有一点是使用定义i变量是可以省略关键字struct,如
这里我想谈一下枚举并不是说C和C++有很大的不同,而是说明枚举值得范围问题,如下面一个枚举
7、结构体
对于C和C++都有结构体,但是C++比C的结构体有一个非常好的特性,就是可以定义成员函数,还有一点是使用定义i变量是可以省略关键字struct,如
1//定义一个point结构体
2struct Point
3{
4 double x;
5 double y;
6}
7int main()
8{
9 //使用
10 struct Point pt; // 在C中可以需要用
11 Point pt2; //在C++中可以直接这样定义
12 return 0;
13}
8、枚举2struct Point
3{
4 double x;
5 double y;
6}
7int main()
8{
9 //使用
10 struct Point pt; // 在C中可以需要用
11 Point pt2; //在C++中可以直接这样定义
12 return 0;
13}
这里我想谈一下枚举并不是说C和C++有很大的不同,而是说明枚举值得范围问题,如下面一个枚举
1enum GeometryType
2{
3 Point,
4 MidPoint,
5 MulPolyline=100
6};
这里GeometryType的最大值是127,怎么算呢,找出枚举值中最大值,然后取这个最大值中小于2的幂方-1,这里100最近的2的幂方就是128,然后再减1就是127。
2{
3 Point,
4 MidPoint,
5 MulPolyline=100
6};