博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Effective C++ 学习笔记(11)
阅读量:5317 次
发布时间:2019-06-14

本文共 416 字,大约阅读时间需要 1 分钟。

确定基类有虚析构函数

class A {
public: A() {
cout<<"A constructor"<

  执行结果:

对此解释:C++语言标准规定,当通过基类指针删除派生类的对象,而基类又没有虚析构函数,结果是不确定的。

对此,将A的析构函数改为虚函数:

class A {
public: A() {
cout<<"A constructor"<

  执行结果:

  结果正确。

以上我们是在堆上分配的内存。

改写main函数,在栈上分配:

int main() {
B b; return 0; }

  结果同上。分配在栈上的对象自动调用构造函数与析构函数。

转载于:https://www.cnblogs.com/DanielZheng/archive/2011/08/03/2126218.html

你可能感兴趣的文章
实验八 接口与实现接口的类
查看>>
PostgreSQL 保留关键字添加方法之一,不带参数的函数
查看>>
赛前热手 (天梯赛暴力题)
查看>>
Uva(10330)
查看>>
vlan学习
查看>>
【转贴】SAP HANA内存数据库详解
查看>>
两种应该掌握的排序方法--------1.shell Sort
查看>>
vuejs动态组件给子组件传递数据
查看>>
杭电2065(递推)红色病毒
查看>>
js 获取视频的第一帧
查看>>
各种正则验证
查看>>
观察者模式(Observer)
查看>>
python中numpy.r_和numpy.c_
查看>>
WPF简单模拟QQ登录背景动画
查看>>
bzoj 2038 小Z的袜子
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>
函数之匿名函数
查看>>
shell习题第16题:查用户
查看>>