基本知识
前缀/后缀自增运算符
前缀或者后缀自增(同自减)运算的区别就是先对该变量操作还是先对表达式操作。比如:
#include<iostream>
using namespace std;
int main()
{
int a = 2,b=3;
//先对a自增然后运算该表达式
cout<<++a+b<<" ";
//先运算该表达式然后对b自增
cout<<a+b++<<" ";
cout<<a<<" ";
cout<<b<<" ";
return 0;
}
指针
指针是一个对象,该对象有其明确的类型,比如int*,double*等,只不过该对象的值为同类型下其他对象的地址,int *p = &a;我们可以说p指向a.在64位计算机中,所有地址都可以用8个字节的整型表示,我们也可以说所有指针大小为8个字节。访问的时候我们以间接访问的方式访问.
类
常量数据成员只能使用成员初始化列表初始化,非常量数据成员最好也使用这种方式,常量对象只能调用常量成员函数。
protected
该访问标识符和private几乎一致,只是有一个区别:派生类可以访问基类中的protected属性的函数和数据成员。
继承
在继承基类的时候,基类中的对象没有被继承,他们在该对象创建或者删除的时候进行调用。构造函数调用的顺序为由外到内(从基类开始),析构函数的顺序相反(从派生类开始)。
派生
派生就是一个单个的函数有多个实现,C ++多态性意味着对成员函数的调用将取决于调用函数的对象类型而执行不同的实现,简而言之,只有在执行的时候才知道调用的是哪一个对象的成员函数,编译过程中编译器并不知道。派生的三个必要条件:
- 有继承关系
- 子类重写父类的虚函数
- 父类的指针指向子类对象