1.
什么是单元测试在计算机编程中,单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。...
分类:
编程语言 时间:
2014-05-12 20:07:42
阅读次数:
560
c++继承方式
公有继承,父类的私有成员不可访问,通过父类的公有函数以及保护函数访问
私有继承,父类成员在派生类中为私有成员等。
初始化顺序先父类,再是派生类,析构刚好相反,
当用父类指针或者引用实现多态时,析构函数要声明成虚函数,不然只会调用父类的析构函数
#include
using namespace std;
class base{
private :float x;
publ...
分类:
编程语言 时间:
2014-05-12 14:16:40
阅读次数:
361
问题:
包含一个以上虚函数的 class B, 它所定义的 对象是否共用一个虚函数表?
分析: 由于含有虚函数,因此对象内存包含了一个指向虚函数表的指针,但是这个指针指向的是同一个虚函数表吗?
实验如下:
{CSDN:CODE:338780}
结论:
结果表面,同一个类的所有对象,都共享同一个虚函数表。
派生问题:
派生类 和 基类是否共享同一个虚函...
分类:
编程语言 时间:
2014-05-11 22:35:00
阅读次数:
387
面向对象编程--定义基类和派生类[续]四、virtual与其他成员函数 C++中的函数调用默认不使用动态绑定。要触发动态绑定,必须满足两个条件: 1)只有指定为虚函数的成员函数才能进行动态绑定,成员函数默认为非虚函数,非虚函数不进行动态绑定。 2)必须通过基类类型的引用或指针进行函数调用。1、从派生类到基类的转换 因为每个派生类对象都包含基类部分,所以可以将基类类型的引用绑定到派生类对象的基类部分...
分类:
编程语言 时间:
2014-05-11 19:58:04
阅读次数:
431
如果C同时派生了基类A和基类B,那么C的对象的内存是如何分布的呢?基类指针pa和基类指针pb对这块派生类C对象的内存所存储的内容又做和解析?或者说pa和pb指向的地址是否是C对象的首地址呢?
1.继承是按照类为整体进行组织的,且如果有继承虚函数,那么将有多余的一个虚函数表指针。
2.基类指针指向派生类后,同样是按照指针强制转化原则来解析派生类对象的部分区块内容(指针截断)
3.多继承中,各个基类的指针指向派生类后,各自基类指针指向的是派生类中与本身基类相关的派生类区块首地址。...
分类:
其他好文 时间:
2014-05-11 15:10:19
阅读次数:
309
面向对象编程--概述、定义基类和派生类引言: 面向对象编程基于的三个基本概念:数据抽象、继承和动态绑定。 在C++中,用类进行数据抽象,用类派生从一个类继承另一个:派生类继承基类的成员。动态绑定使编译器能够在运行时决定是使用基类中定义的函数还是派生类中定义的函数。 继承和动态绑定在两个方面简化了我们的程序:[继承]能够容易地定义与其他类相似但又不相同的新类,[派生]能够更容易地编写忽略这些相似类型...
分类:
编程语言 时间:
2014-05-10 06:47:58
阅读次数:
433
在C#中,函数默认下不是虚拟的,需要显式的声明。派生类的函数重写另一个函数时,要使用override 关键字显式的声明。如果声明了override
函数,但在基类中如果没有可以重写的函数,编译器就会报错了。注意,成员字段和静态函数都不能声明为 virtual ,因为这个概念只对类中的实例函数成员有意...
分类:
其他好文 时间:
2014-05-09 10:24:31
阅读次数:
345
1、策略模式
主体主要是添加一个算法的基类,这样就可以通过创建不同的派生类算法,来达到运行时动态改变行为。
2、观察者模式
观察者 关键是要继承统一的监听接口。
通知者 主要是实现:观察者list、添加观察者、删除观察者、通知观察者等接口。
可分为:推送观察者模式,拉取观察者模式。
3、装饰模式
主要是通过装饰品替换装饰者来改变装饰者的行为。因此,装饰品要与装饰者有相...
分类:
其他好文 时间:
2014-05-09 09:10:18
阅读次数:
264
python是面向对象的解释性语言,然而python是通过C语言实现的,C语言怎么跟面向对象扯上了关系? C语言可以实现面向对象的性质?...
分类:
编程语言 时间:
2014-05-08 17:14:42
阅读次数:
418
定义了一个基类的指针,通过基类操纵派生类,初始化派生类对象。。粤粤大神教我的。。嘻嘻。。。
代码如下:
#include
#include
#include
using namespace std;
void menu1() // 选择积分函数功能菜单
{
cout<<" 请 选 择 被 积 函 数"<<endl;
cout<<"\n...
分类:
其他好文 时间:
2014-05-08 03:46:23
阅读次数:
289