三目运算符
c中 不可作为左值
c++ 可作为左值 但不可用常数
const int a = 10;
c 有
c++ 无 符号表
const define 区别
1,#define没有类型
2,#define预编译(文本替换)
const 编译期
3,定义复杂类型const - struct
- class
引用 & 有自己的存贮空间
本质 1 别名 int a = 10
int &b = a;
2 typename & a
const *
&作为返回值 全局变量,静态变量
inline 内联 inline void func1()
{
}
不可用循环函数
不可过多判断条件
函数体不可过大
2 #define 文本替换
inline 镶嵌
3 #define 无数据检查
4 inline本质是函数
5 #define 多加括号
默认参数
void fun1(int a ,int b = 0)从右往左
函数重载
1 名相同
2 特征标不同
参数类型
参数个数
参数顺序
函数返回值不可作为依据
重载函数在本质上是相互独立的不同函数(静态链编)
重载函数的函数类型是不同的
函数返回值不能作为函数重载的依据
函数重载是由函数名和参数列表决定的
耦合度 模块之间相互关联程度
面向对象优点 通过,继承,封装,多态降低程序的耦合度,并结合设计模式让程序更容易修改
和扩展,并且易于复用
抽象
抓住事物本质,而不是具体实现
封装
通过公有函数,操作处理私有数据,提供外部操作接口
属性(私) 方法(公)
进行访问控制
继承