c++面向对象
引用是指针常量
如:
1 | int a=10; |
即:
1 | int *const b=&a; |
1 |
|
函数重载
1 必须在同一个作用域下
2 函数名称相同
3 函数参数类型不同,或者个数不同,或者顺序不同
1 | void fun(){ |
类和对象
1 | //圆类 |
构造函数
1 构造函数没有返回值,不用写void
2 函数名与类名相同
3 构造函数可以有参数,可以发生重载
4 创建对象的时候,构造函数会自动调用,且只调用一次
1 析构函数 进行清理的操作
2 没有返回值,不写void
3 函数名与类名相同,在名称前加~
4 对象在销毁前会自动调用析构函数,且只会调用一次
1 |
|
拷贝构造
1 |
|
拷贝构造函数使用时机
1 |
|
深拷贝浅拷贝
浅拷贝:简单的赋值拷贝操作
深拷贝:在堆区重新申请空间,进行拷贝操作
1 |
|
初始化列表
1 |
|
对象成员
1 |
|
static成员
静态成员函数:所有对象共享,只能访问静态变量
静态成员变量:所有对象共有,类内声明,类外定义
1 |
|
只有非静态成员变量属于对象
空对象的内存占用为1个字节
this指针: this指针指向被调用的成员函数所属的对象,this指针是指针常量其指向不可以修改
1 可以解决名称冲突
2 返回此对象 return *this;
1 |
|
常函数 :不能修改指针指向和值.
常对象:只能调用常函数
友元函数
1 |
|
1 |
|
成员函数做友元
1 |
|