听慕课网所讲:
1、C++之父:比亚尼
2、C++是面向过程+对象
3、C++两种初始化方法
a 复制初始化: int x=1024;
b 直接初始化: int x(1024);
4 进制:
oct 8进制
dec 10进制
hex 16进制
5、基本数据的引用
int a=3;
int &b=a;
b=10;
6、函数参数默认值
如果有默认值的参数必须在最右端
无实参则用默认值,否则实参覆盖默认值
7、控制变量const
控制常量,不能更改
int x=3
int *const p=&x;指向p
int const *p=&x 指向*p
8、重载:在相同的作用域内,名字相同参数不同的函数之间互称为重载
9、内联函数:编译时将函数体代码和实参代替函数调用语句 关键字inline 高效率 有条件
10、C++当中资源的申请和释放
int *p=new int;
delete p;
封装:(上)
11、对象成员的访问
普通对象: TV tv;
tv.type;
指针对象: TV *p=new TV;
P->type=0;
12、指针函数 inline
类外定义:同文件类外定义
分文件类外定义
13、内存分区:
栈区:int x=0;int *p=NULL;//实例化之后各自占据空间
堆区:int *p=new int【20】;//由程序员定义
全局区: 存储全局变量及静态变量
常量区: string str=“hello”;
代码区:存储逻辑代码的二进制形式;
14、构造函数的规则和特点:
构造函数在对象实例化时被自动调用(允许有参数)
构造函数与类同名
构造函数没有返回值
注:可以有多个重载的形式
实例化对象时仅用到一个构造函数
实例化对象时仅用到一个构造函数
当用户没有定义构造函数时,编译器会自动生成一个构造函数
15、拷贝构造函数:
可以实现实参对象的数据成员值复制到新的创建的数据成员中区
为什么要设计构造函数、析构函数:
可以更好地体现物化的思想(也就是说含有自动化的思想);
更好的封装性(避免从外部初始化)
更有效地使分类架构设计与程序架构设计分开
导致更清晰的面向接口编程,有更有效的复用性
16、析构函数:最后归还系统资源
定义格式:~类名()没有类名;不允许加任何参数
在对象被销毁之前自动调用
若未定义则系统自动生成,无返回值,不可以重载
17、对象的生命历程:申请内存—初始化列表—构造函数—参与运算—
--析构函数—
释放资源
18
、