首页 > 其他分享 >虚析构函数

虚析构函数

时间:2023-04-24 22:36:33浏览次数:36  
标签:函数 虚析构 DerivedClass include BaseClass public

一、问题提出

定义一个基类BassClass,从他派生出类DerivedClass.在BaseClass中声明虚析构函数,,在主函数中将一个动态分配的DerivedClass的对象地址赋给一个bassClass的指针,然后通过指针释放对象空间,观察运行结果。

代码实现。

#include<iostream>
#include<iomanip>
#include<cmath>
#include<string>
using namespace std;
class BaseClass
{
public:
virtual ~BaseClass();
};
class DerivedClass :public BaseClass
{
public:
~DerivedClass();
};
BaseClass::~BaseClass()
{
cout << "BaseClass 析构" << endl;
}
DerivedClass::~DerivedClass()
{
cout << "DerivedClass 析构" << endl;
}
int main()
{
BaseClass *BP = new DerivedClass;

delete BP;
}

 

标签:函数,虚析构,DerivedClass,include,BaseClass,public
From: https://www.cnblogs.com/luoqingci/p/17351171.html

相关文章

  • 支持向量机上的核函数对比
    探索核函数在不同数据集上的表现导入模块importnumpyasnpimportmatplotlib.pyplotaspltfrommatplotlib.colorsimportListedColormapfromsklearnimportsvmfromsklearn.datasetsimportmake_circles,make_moons,make_blobs,make_classification创建数据集,定......
  • Vue关于beforeRouteEnter以及beforeRouteLeave函数的运用
    先上代码beforeRouteEnter:(to,from,next)=>{console.log("进入路由之前")next(vm=>{vm.getData();});},beforeRouteLeave:(to,from,next)=>{console.log("进入路由之后")next();},methods:{getData:f......
  • 一些可能不知道或不熟悉的有用但冷门的库函数
    提取自洛谷日报从C++98到C++20,寻觅甜甜的语法糖们中C++98到C++14的部分。这是菜鸡作者写给自己看的,你认为有缺失可以在评论区说,但是不一定会添加。函数所位于的库就不写了,反正都#include<bits/stdc++.h>了。__lg(x):GNU私货。返回\(\lfloor\log_2x\rfloor\)。__b......
  • 【C/C++】 可变参数函数
    #include<stdio.h>#include<stdarg.h>/***按自定义格式符解析数据*/voidprocess(constchar*fmt,va_listargs){for(;*fmt;fmt++){if(*fmt=='%'){continue;}switch(*fmt){ca......
  • PHP中的引用参数的函数
    前言php的引用(就是在变量或者函数、对象等前面加上&符号)在PHP中引用的意思是:不同的名字访问同一个变量内容。与C语言中的指针是有差别的。C语言中的指针里面存储的是变量的内容在内存中存放的地址,函数的引用返回多用在对象中引用参数的函数格式说明如下代码所示:voidfunName(array......
  • recv函数具有包的提前预读
    #include<sys/types.h>#include<sys/socket.h>ssize_trecv(intsockfd,void*buf,size_tlen,intflags);1.具有紧急指针功能2.具有带外数据3.数据包提前预读ssize_trecvfrom(intsockfd,void*buf,size_tlen,intflags,......
  • 第六章 重新组织函数
    6.1提炼函数 一个过长的函数或者一段,需要注释才能理解用途的代码,将这段代码放入一个独立的函数。每个函数的粒度很小,复用的机会就会很大。高层函数可读性就很高,看起来就是再读一堆注释。函数都是细粒度,复写也会更容易。提炼出的函数,根据这个函数的意图来命名(以它做什么命名,......
  • 构造函数私有化或保护化
    构造函数私有化或保护化摘自:https://blog.csdn.net/caoyangxiaoyao/article/details/81184786构造函数私有化/保护化可以将构造函数设置为私有函数,但是这样做就无法从外部直接调用构造函数,因此就无法直接构造这个类的对象。1.如果你不想让外面的用户直接构造一个类(类A)的对象,而是......
  • 13、c++使用单例模式实现命名空间函数
    本案例实现一个test命名空间,此命名空间内有两个函数,分别为getName()和getNameSpace();声明命名空间及函数namespacetest{conststd::string&getName()和();conststd::string&getNameSpace();}命名空间内实现单例类实现一个单例类,构造函数要为private,自身对......
  • 箭头函数
    箭头函数提供了一种更加简洁的函数书写方式。基本语法是:参数=>函数体箭头函数多用于匿名函数的定义//传统方式定义函数varf1=function(a){returna}//console.log(f1(3))//es6使用箭头函数定义//参数=>函数体varf2=a=>a//console.log(f2(4)) 使......