一.枚举
enum不仅能够创建符号常量,还能定义新的数据类型
//enum定义
enum w {Monday, Tuesday,Wednesday, Thursday,Friday,Saturday,Sunday};
w weekday;
weekday = Monday;
weekday = w(0);
int s = Monday;
//无法赋值 weekday = 1;
二.联合体
struct Student{
char name[6];
int age;
Score s;
}
//联合体定义
union Score{
double sc;
char level;
}
三.命名空间
用于相同定义的函数,由于相同函数名和相同参数 所以 需要命名空间进行限定使用具体函数.
namespace quick{
int test(int a){
return a+1;
}
}
int test(int a){
return a;
}
int main(){
int b =3 ;
cout<< test(b)<<endl;
cout<<quick::test(b)<<endl;
return 0;
}
四.函数的指针
每一个函数都占用一段内存单元.它们都有一个起始地址.指向函数入口地址的指针称为函数指针
// int(*p)(int) 一般形式
int maxVal(int a , int b){
return a>b ? a:b;
}
bool s(int a,int b, int(*p)(int a,int b)){
cout<<p(a,b)<<endl;
return true;
}
int main(){
int a =10;
int b = 20;
s(a,b,maxVal);
return 0;
}