1、类函数的重载特性
类函数的重载特性就是说我们可以在类里面定义同名的函数,但是参数不同的函数。
重载函数在调用的时候,会根据参数的类型,然后去匹配相应的函数进行调用。
如下方的两个text()
class student
{
public:
char name[64];
int age;
void test();
void test(int a);
private:
int haha;
};
2、构造函数和析构函数
**构造函数:**假如我们定义了构造函数,当对象被创建的时候,就会触发这个构造函数。构造函数是可以被重载的。
**析构函数:**假如我们定义了析构函数,当对象被删除或者生命周期结束的时候,就会触发析构函数。析构函数不能被重载。
析构函数和构造函数的定义方法:
1.析构函数和构造函数的名字必须和类名一模一样。
2.析构函数要在前面加上一个~
举例:
class student
{
public:
student();
~student();
char name[64];
int age;
void test();
void test(int a);
private:
int haha;
};
student::student(){
/*构造函数*/
cout << "hello" << endl;
}
student::~student(){
/*析构函数*/
cout << "bye" << endl;
}
3、类的继承
什么是类的继承?
类的继承允许我们在新的类里面继承父类的public还有protected部分,private是不能被继承的。
当我们觉得这个类不好的时候,可以使用类的继承,添加我们需要的功能。
格式:
class 子类:public 父类{
public:
........
Protected:
}
例子:
子类:mystudent
父类:student
class mystudent:public student
{
public:
int grade;
};
如果在子类里面去访问父类的成员?也是通过.和->来访问的。
扫描二维码关注公众号,回复:
12728808 查看本文章
4、虚函数和纯虚函数
**虚函数:**有实际定义的,允许派生类对他进行覆盖式的替换,virtual来修饰,virtual关键字表示虚函数。
**纯虚函数:**没有实际定义的虚函数就是纯虚函数。
举例:
virtual void test(){
//虚函数
cout << "hello" << endl;
}
virtual void testa(){
} //纯虚函数
主要用途
用virtual来修饰,虚函数是用在类的继承上的,允许派生类对他进行覆盖式的替换,子类可以覆盖父类。
虚函数的优点
可以预留接口,实现分工合作(写驱动的同学遇到写应用的部分可以防止虚函数,写应用的同学到时候直接替换即可)。