`
tianyalinfeng
  • 浏览: 434907 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

析构函数和虚函数的用法和作用

    博客分类:
  • C++
阅读更多

置于“~”是析构函数;析构函数因使用"~"符号(逻辑非运算符),表示它为腻构造函数,加上类名称来定义。
;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。
有适放内存空间的做用!

虚函数是C++多态的一种表现
例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)。
使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。

如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数(方法)设为virturl 函数名=0
我们把这样的函数(方法)称为纯虚函数。
如果一个类包含了纯虚函数,称此类为抽象类

分享到:
评论

相关推荐

    抽象类与虚函数的应用

    将析构函数声明为虚函数。 (2)定义两个类Cat、Dog,都继承自Animal,并重载Identify函数,显示动物的种类及名字。 (3)定义一个Tiger类,继承自Cat,重载Identify函数,显示动物的种类和名字。 (4)定义一个...

    著名企业c+c++数据结构算法面试笔试题

    Q4:请问C++的类和C里面的struct有什么区别? Q5:请讲一讲析构函数和虚函数的用法和作用? Q5:请讲一讲析构函数和虚函数的用法和作用? Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。

    用C++实现虚函数

    用C++简单编码实现虚函数,展现虚函数的用法,以及虚析函数的用法 和 判断类的大小(在类中有虚函数的时候,无虚函数的时候)

    类的继承与派生实验

    1:掌握单继承和多继承下派生类的定义方法,理解基类成员在...3:理解同名冲突的产生原因,会使用虚基类来解决第三类同名冲突问题,并理解引入虚基类后构造函数、析构函数的调用顺序。 4:理解赋值兼容的相关使用方法。

    华为瑞星360等公司软件测试工程师面试题.doc

    本文主要讨论了软件测试工程师面试题中的几个重要知识点,包括OSI七层网络结构图、TCP/IP五层结构图、IP协议的定义、交换机和路由器的实现原理、C++中的类和结构体的区别、析构函数和虚函数的用法和作用、全局变量和...

    收集来的面试题,其中包括华为的

    3.析构函数和虚函数的用法 4.C++中的类和C中的struct的区别 5.给出点对象,大小对象和矩形对象的类名称? 6.C++中的空类中含有哪些类成员 7.使用Gdi的过程中应当注意哪些? 8.什么是HOOK?例子?

    50家著名公司笔试题

    华为笔试题 ...请讲一讲析构函数和虚函数的用法和作用。 6.全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道 的 ? 7.8086是多少位的系统?在数据总线上是怎么实现的?

    华为经典笔试题华为笔试题

    华为笔试题 ...请讲一讲析构函数和虚函数的用法和作用。  6.全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?  7.8086是多少位的系统?在数据总线上是怎么实现的?

    多家软硬件公司笔试题

    多家硬件软件公司笔试题 ...请讲一讲析构函数和虚函数的用法和作用。  6.全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?  7.8086是多少位的系统?在数据总线上是怎么实现的?

    C++继承与派生课件

    派生与继承的概念;继承中的构造函数与析构函数,虚基类的概念与使用方法。

    程序员必备知识点整理包括编程、面试、刷题等

    13)C++析构函数为什么要为虚函数15)数组操作中对于指针的深入理解 16)、锁的理解 17) C++11 并发与多线程 18)binder通信 19)LInux 1.12 C++ 基础必备: 1)内联函数和宏定义的区别?(*****) 2)sizeof size ...

    C++虚函数及虚函数表简析

    关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析。 当然,相同的文章在网上也出现过一些了,但我总感觉这些文章...

    零起点学通C++多媒体范例教学代码

    10.4.析构函数和delete运算符 10.4..1 默认析构函数 10.4.2 调用构造函数进行类型转换 10.5 浅层复制构造函数 10.6 深层复制构造函数 第11章 运算符重载 11.1 运算符重载 11.2 在成员函数中实现自加 11.3 重载前置...

    零起点学通C++学习_多媒体范例教学代码

    10.4.析构函数和delete运算符 10.4..1 默认析构函数 10.4.2 调用构造函数进行类型转换 10.5 浅层复制构造函数 10.6 深层复制构造函数 第11章 运算符重载 11.1 运算符重载 11.2 在成员函数中实现自加 11.3 ...

    C++编程思想习题

    14.9析构函数和虚拟析构函数 14.10小结 14.11练习 第15章 模板和包容器类 15.1包容器和循环子 15.2模板综述 15.2.1C方法 15.2.2Smalltalk方法 15.2.3模板方法 15.3模板的语法 15.3.1非内联函数定义 15.3.2栈模板...

    C++的概念/解释,可打印,华南师范大学C++考过。

    24. 虚析构函数 8 25. 纯虚函数 8 26. 抽象类 8 27. 抽象类与接口的区别 8 28. 32.输入输出流 8 29. 标准的输出流对象有哪些 8 30. 标准的输入流对象有哪些 9 31. 文件流类与文件流对象 9 32. 两个短整型数相加后,...

    现代C++程序设计

    8.4.4 基类和派生类的析构函数 8.4.5 医生也是人 8.4.6 关于派生类和基类构造函数的规则 8.5 多态和虚函数 8.5.1 多态——同一个接口,不同的行为 8.5.2 什么是虚函数 8.5.3 虚函数的作用 8.6 总结 8.7 练习 复习题...

    面向对象与C++试题.doc

    析构函数和构造函数一样可以有形参 C.析构函数的功能是在系统释放对象之前作一些内存清理工作 D.析构函数无任何函数类型 8、类定义的内容允许被其对象无限制地存取的是( )。 A.private 部分 B. protected 部分...

    面向对象编程试题.pdf

    模板类的成员函数包括构造函数、析构函数和输入输出运算符重载函数。 在模板类的设计中,我们需要注意模板参数的使用,以确保模板类能够正确地实例化不同的类型。在主函数中,我们需要实例化模板类,创建对象并使用...

    C++复习资料之系列

    (a) 3和3 (b) 3和5 (c) 5和3 (d) 5和5 18. 在下列运算符中,( d )优先级最高。 (a) (b)*= (c)+ (d)* 19. 在下列运算符中,( d )优先级最低。 (a) ! (b)&& (c)!= (d)?: 20.设i=1...

Global site tag (gtag.js) - Google Analytics