C++的增强
#define _CRT_SECURE_NO_WARNINGS
#include <iostream> // 标准的输入输出流
using namespace std; // 命名空间 防止命名冲突
#include <cstring>
// 1.全局变量检测增强,不能重复定义
// int a;
// int a = 10;
// 2.函数检测增强,必须定义函数变量的类型,函数调用参数检测增强
// int getDouble(w,h){
// return 0;
// }
// 4.struct 中可以添加函数,并且使用时不必须添加struct关键字
struct Teacher{
int age = 30;
void yearByYear(){
age ++;
}
};
// main 函数
int main()
{
// 3.类型转换检测增强 必须强转
// char * = (char *) void * ;
char * hello = (char *)malloc(sizeof(char) * 10);
// 4.struct 中可以添加函数,并且使用时不必须添加struct关键字
Teacher teacher = {25};
teacher.yearByYear();
cout << "teacher.age = " << teacher.age << endl;
// 5.bool 类型增强 C语言中没有bool类型
bool hasStudent = false;
if(hasStudent){
teacher.yearByYear();
}
cout << "teacher.age = " << teacher.age << endl;
// 6.三目运算符增强
int a = 10;
int b = 20;
a > b ? a : b = 0; // C语言中编译不通过
cout << "b = " << b << endl;
// 7.const 增强
const int c = 10;
// 编译不通过 C语言中可以
// int * p = &c;
const int * p = &c;
// 8. 如果外部链接没有 extern C++是找不到d的,但C可以
extern const int d;
cout << "d = " << d << endl;
system("pause"); // 阻塞功能
return EXIT_SUCCESS; // 正常退出
}
注意
1.全局变量检测增强,不能重复定义
2.函数检测增强,必须定义函数变量的类型,函数调用参数检测增强
3.类型转换检测增强 必须强转
4.struct 中可以添加函数,并且使用时不必须添加struct关键字
5.bool 类型增强 C语言中没有bool类型
6.三目运算符增强
7.const 增强
8. 如果外部链接没有 extern C++是找不到d的,但C可以