浅拷贝:可以把一个对象赋值给另外一个对象,对象的每个成员的值,将一一对应拷贝到新的对象。
const 定义常量,值不能被修改,声明时必须对其初始化
常量指针:地址可以改变,不能改变指向变量的值
指针常量:可以改变指向,可以改变变量的值
const 修饰函数(修饰哪,哪不能变)
const int func(const Point &p) const;
1⃣️int func()const ; // 表示此函数是const成员函数,在func函数内不能修改成员变量的值。健壮性 const只能修饰成员函数
2⃣️int func(const Point &p) // 表示在此函数中不能修改p的值
3⃣️const int func() // 表示函数的返回值不能被修改
注意:const 成员函数 只能调用const 成员函数,不能调用非const成员函数
非const成员函数则均可调用
const 对象只能调用const成员函数,普通对象则均可调用
const 引用
const 对象只能赋值给const类型的引用(或指针),不能赋值给非const类型的引用(或指针),普通对象则均可赋值
const Base b1;
const Base &b2=b1;// right
指针与引用赋值效果一样
静态成员函数不能访问非静态成员变量与非静态成员函数,而普通成员函数技能访问静态成员变量,又能访问到静态成员函数
this 指针:每一个对象都有一个指向对象本身的指针(this)
1⃣️形参名称与成员变量名称相同
2⃣️函数连续调用