在许多情况下,在基类中不能对虚函数给出有意义的实现,而把它声明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。
分类:
其他好文 时间:
2014-04-29 20:30:37
阅读次数:
441
构造函数不能是虚函数。但有时候确实需要能传递一个指向基类对象的指针,并且有已创建的派生类对象的拷贝。通常在类内部创建一个Clone()方法,并设置为虚函数。//Listing
12.11 Virtual copy constructor#include using namespace std;cla...
分类:
编程语言 时间:
2014-04-29 17:26:52
阅读次数:
522
//: WIND2.CPP -- Inheritance &
upcasting#include enum note { middleC, Csharp, Cflat }; // Etc.class instrument
{public: void play(note) const { // ...
分类:
其他好文 时间:
2014-04-28 01:35:42
阅读次数:
1272
#include class base {public: virtual void v() const
= 0; virtual void f() const = 0 { // 纯虚函数也有实现内容,但子类仍然必须实现这个虚函数 cout <<
"base::f()\n"; }};voi...
分类:
其他好文 时间:
2014-04-27 23:47:48
阅读次数:
561
下面是对C++的虚函数的理解。一,定义简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。下面来看一段简单的代码1...
分类:
编程语言 时间:
2014-04-27 21:06:14
阅读次数:
960
在public继承中,(public 继承表示的关系是 “is a ” 的关系),其类中定义的函数主要有三类:pure virtual函数,impure virtual函数以及non-virtual函数,这三种函数决定了public继承中的两个重要概念 : “ 函数接口继承” 以及 “函数实现继承”。那么接下来将针对这样一个不简单的问题做一些简介。
考虑如下的类定义:
class Shape...
分类:
其他好文 时间:
2014-04-27 18:29:13
阅读次数:
526