C++基础(二)—C++一些概念上的补充

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;
};

如果在子类里面去访问父类的成员?也是通过.和->来访问的。

4、虚函数和纯虚函数

**虚函数:**有实际定义的,允许派生类对他进行覆盖式的替换,virtual来修饰,virtual关键字表示虚函数。

**纯虚函数:**没有实际定义的虚函数就是纯虚函数。

举例:

virtual void test(){
    
    //虚函数
cout << "hello" << endl;
}
virtual void testa(){
    
    } //纯虚函数

主要用途
用virtual来修饰,虚函数是用在类的继承上的,允许派生类对他进行覆盖式的替换,子类可以覆盖父类。

虚函数的优点
可以预留接口,实现分工合作(写驱动的同学遇到写应用的部分可以防止虚函数,写应用的同学到时候直接替换即可)。

猜你喜欢

转载自blog.csdn.net/weixin_44933419/article/details/114364207