2013年6月28日
摘要: 如果基类希望派生类对它的某些成员函数进行重定义,那么该基类需要将成员函数声明为virtual函数,即虚函数,而不希望被重定义的函数则为普通的非虚函数。调用虚函数时编译器需要动态绑定以确定究竟要调用的是哪一个类的函数,而触发动态绑定的不仅要求调用的函数是虚函数,还要求必须通过基类类型的引用或指针进行函数调用。(1)派生类对象可以当做基类对象使用因为每个派生类对象都包含基类部分,所以可以将基类类型的引用绑定到派生类对象的基类部分,也可以用指向基类的指针指向派生类对象。例如:double print(const Item_Base&);Item_Base item;print(item);I 阅读全文
posted @ 2013-06-28 17:52 Sophia-呵呵小猪 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 面向对象编程基于三个基本概念:数据抽象、继承和动态绑定。在C++中,数据抽象和动态绑定也被称为类和多态,也就是说C++中的数据抽象通过类实现,而动态绑定主要是为了实现多态。面向对象编程的关键思想是多态性(polymorphism),在C++中,多态性仅用于通过继承而相关联的类型的引用或指针。(1)公有继承、保护继承和私有继承通过继承,派生类可以继承基类定义的成员,同时也可以重新定义那些与派生类型相关的成员函数,将函数特化;派生类也可以定义自己的成员变量和成员函数以实现更多的特性。派生类继承基类的基本形式如下:class derivedClass : access-label baseClass 阅读全文
posted @ 2013-06-28 16:47 Sophia-呵呵小猪 阅读(201) 评论(0) 推荐(0) 编辑