C++ 虚函数、虚析构、虚构造(原创纯手码)

本文详细介绍了C++中的虚函数、虚析构和虚构造的概念及其使用。通过实例分析了虚函数如何根据对象实际类型调用相应的方法,强调了虚析构函数在多态中的重要性,指出虚构造函数是不被允许的,并解释了纯虚函数在定义接口类中的作用。
摘要由CSDN通过智能技术生成

1. 前言

虚函数的概念是在类继承中提出的,为了让派生类重新实现基类的方法。当对象指针/引用指向的类型来调用具体的方法。
在基类声明中使用关键字virtual标记可以被重写的方法,派生类中可以使用该关键字,也可以不用(效果一样)。
注意:virtual关键字只需在声明中添加,在源代码中无需添加。这点和static、inline关键字一致。

virtual void printOrg();//基类声明中的虚函数

2. 具体使用

  1. 如果没有使用关键字virtual,程序将根据引用/指针类型选择方法。
    举例说明:
#include <iostream>

using namespace std;
//基类源码
class COriginal
{
   
public:
    COriginal();
    ~COriginal();
    void printOrg();
};

//基类源码
COriginal::COriginal()
{
   
    cout << "Constructor of COriginal" << endl;
}

void COriginal::printOrg()
{
   
    cout << "printOrg of COriginal" << endl;
}

COriginal::~COriginal()
{
   
    cout << "Destruct of COriginal" << endl;
}


//派生类声明
class CDerive :public COriginal
{
   
public:
    CDerive();
    ~CDerive();
    void printOrg();
};

//派生类源码
CDerive::CDerive()
{
       cout << "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值