一、C++创建对象
1.类 对象名;(只适用于无参的情况)
1.1访问
普通变量通过.访问
2.类 *对象名 = new 类; //在堆上创建对象
(delete 对象 //释放的也是堆上的内存)
2.1访问
指针通过->访问
二、类的函数成员
1.先在类中声明,再实现(可以直接在类中写,也可以写在外面)
1.1写在里面:
class student{
public :
void test(){
cout<<123456789<<endl;
}
}
1.2写在类外面
class student{
public :
void test();
}
void student::test(){ //::表示test属于student
cout<<123456789<<endl;
}
2.访问权限
private(私有的):不能通过对象访问,只能在自己的类里面自己访问
例如:
class student{
private:
int a;
public :
void test(int i);
}
void student::test(int i){ //::表示test属于student
a = i;
cout<<a<<endl;
}
protect(受保护的):只能在自己的类里面自己访问,但可以被派生类来访问
三、析构和构造函数
1.析构函数:定义了析构函数后。当对象被删除或生命周期结束时,就会触发析构函数。
2.构造函数:定义了构造函数后。当创建对象时就会触发构造函数。
注:构造函数和析构函数的名字和类名是一样的,析构函数前面加~。(也可以不写)
构造函数可以被重载。
构造时从上往下开始构造,从父亲开始构造;析构时从下到上开始析构,先释放最底下的子类。
四、继承
1.只能继承父类的public和protected,通过.和->去访问父类的成员。
class 子类:public 父类{
}
五、虚函数和纯虚函数
虚函数:有实际定义的,允许派生类对其进行覆盖式替换。用virtual修饰。(子类要覆盖时,不需要写virtual)
virtual void try(){
cout<<123456<<endl;
}
注:主要用于预留接口。
纯虚函数:没有实际定义的虚函数
virtual void try1(){}