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



浙公网安备 33010602011771号