[TOC] 1. 什么是抽象类 在进行面向对象分析时,会发现一些抽象的概念,比如图形Shape,要想计算图形的面积,就必须先知道具体的图形类型,因为对概念上的“图形”求面积是没有意义的。 在面向对象理论中,现实世界中的抽象概念可以用抽象类表示 抽象类是一种只能定义类型、不能产生对象的类 抽象类的直接 ...
分类:
其他好文 时间:
2019-09-28 14:25:42
阅读次数:
81
纯虚函数:一个函数只有函数名和形参列表,没有具体实现;语法:virtual double GetArea()=0; 抽象类:在C++中,含有纯虚拟函数的类称为抽象类,它不能生成对象。抽象类是不完整的,它只能用作基类。 话不多说,自己理解吧,笔者第一此看到是瞎说的,希望你有所收获吧。 1.含有纯虚函数 ...
分类:
编程语言 时间:
2019-09-27 11:04:31
阅读次数:
93
纯虚析构函数 理论上来说,将一个函数声明为纯虚函数后,这个类即变为抽象类。纯虚函数只提供接口,而不提供实现,但纯虚析构函数一定要提供定义。这是由C++特性决定的,编译器对派生类的析构函数会进行扩展,以静态调用的方式调用其每一个虚基类和上基类的析构函数,尽管是一个抽象类,但仍然要为这个纯虚析构提供实现 ...
分类:
其他好文 时间:
2019-09-13 01:29:55
阅读次数:
113
https://blog.csdn.net/hackbuteer1/article/details/7558868 注: 该博主是个大牛,虽然早已经不更新了,但是分享了很多数据结构的面试题,值得翻阅学习。 ...
分类:
其他好文 时间:
2019-09-10 17:43:17
阅读次数:
94
1. 接口(一种特殊类): a. 类中没有任何成员变量;b. 类中所有成员函数都是public, 而且都是纯虚函数. 2. 引用,别名,与指针不同: a.不存在NULL;b. 被初始化后,不能指向别的对象;c. 必须在创建时初始化。 ...
分类:
编程语言 时间:
2019-08-20 10:56:57
阅读次数:
71
什么是多态?虚函数的实现原理是什么? 多态分为静态多态和动态多态 静态多态:发生在编译时,主要有函数重载,运算符重载 动态多态:发生在运行时,主要通过虚函数的形式实现 多态性可以概括为"一个接口,多种方法",程序在运行时才决定调用的函数,多态性是oop编程的核心,C++的多态性通过虚函数实现,基类中 ...
分类:
编程语言 时间:
2019-08-04 19:49:15
阅读次数:
111
实验目的 1. 理解运行时多态 2. 掌握虚函数和抽象类 实验准备 1. 概念 多态,运行时多态 虚函数, 纯虚函数, 抽象类 2. 语法和应用 虚函数的定义和使用纯虚函数、抽象类的定义和使用 实验内容 设计并实现一个机器宠物类MachinePets。 每个机器宠物有如下信息:昵称(nickname ...
分类:
其他好文 时间:
2019-06-05 00:07:22
阅读次数:
96
Part3 简单编程练习 实验总结: 1.纯虚函数作用:在验证性部分,基类没有使用虚函数时,使用基类指针调用派生类成员函数,始终只有基类函数在起作用。而使用了纯虚函数之后,基类类型的指针,如果指向的是派生类的对象,那么它就可以访问这个函数,从而执行的是派生类中的函数。需要注意的是,纯虚函数是不能被调 ...
分类:
编程语言 时间:
2019-06-01 23:07:03
阅读次数:
146
C++中非常重要的概念,尤其是相对于C语言而言,也是其具有如此高的工程使用性的重要原因。 封装 所谓封装是将某些东西隐藏起来,让外界无法直接使用,而必须通过某些特定的方式才能访问。也即是,将抽象得到的数据和行为(类似于属性和方法)结合构成一个有机整体,将数据与操作数据的函数构成类,其中数据和函数都是 ...
分类:
编程语言 时间:
2019-05-18 12:24:47
阅读次数:
135
抽象类: 1. 表示现实世界的抽象概念(动物对于猪) 2. 不能用来创建对象,只能用来定义类型或则继承并重写相关函数或指针 3. 抽象类内部函数没有具体实现 抽象类的实现: 1. 当类中定义了纯虚函数,这个类就是抽象类。 2.纯虚函数是只定义了函数声明的虚函数 抽象类语法: 抽象类的多态: 注意: ...
分类:
其他好文 时间:
2019-05-12 19:45:03
阅读次数:
117