转自 http://blog.sina.com.cn/s/blog_7c773cc50100y9hz.html第一种情况:#include using namespace std;class ClxBase{public: ClxBase() {coutDoSomething(); dele...
分类:
编程语言 时间:
2014-09-19 20:51:16
阅读次数:
275
为了便于说明多态,先从一个简单的例子说起
#include
using namespace std;
class Parent//定义一个父类Parent类
{
public:
//构造函数
Parent(int a = 1)
{
this->a = a;
}
//打印Parent类的数据成员
void print()
...
分类:
其他好文 时间:
2014-09-19 19:27:15
阅读次数:
269
程序代码:
#include
using namespace std;
class SmallPlant//小型植物
{
public:
//攻击力
virtual int AttackPower()
{
return 10;//攻击力为10
}
};
class Zombie//僵尸
{
public:
//攻击力
i...
分类:
其他好文 时间:
2014-09-19 19:26:55
阅读次数:
273
在看GCC源码的时候看到mangles这个单词,于是google了一下。在面向对象编程语言出现之前,如果你想要打印不同类型的数据,需要写多个方法,例如PrintInteger(int i),PrintString(string s) 和 PrintFloat(float f) 。也就是说, 你必须通...
分类:
其他好文 时间:
2014-09-19 19:20:05
阅读次数:
194
三大特性:封装、继承、多态封装: 成员变量的封装 为了过滤不合法的属性值,我们需要提供一个方法给外界设置age属性值 set方法 作用:提供一个方法给外界设置成员变量值 命名:方法名必须以set开头 set后面跟上成员变量的名称,成员变量的首字母必须...
分类:
其他好文 时间:
2014-09-19 18:55:25
阅读次数:
153
Python是面向对象的编程语言,也支持类继承。
>>> class Base:
... pass
...
>>> class Derived(Base):
... pass
这样就定义了两个类,Derived继承了Base。issubclass(a,b)可以测试继承关系:
>>> issubclass(Derived, Base)
True
在...
分类:
编程语言 时间:
2014-09-19 17:41:15
阅读次数:
373
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
//从设计角度考量,通常将子类中共有的但却容易变化的特征抽取为虚函数在父类中定义,而在子类中通过覆写来重新实现其操作。
class A
{
publi...
分类:
其他好文 时间:
2014-09-19 17:39:45
阅读次数:
148
Python使用中面向对象的语言,支持继承、多态;
定义一个Person类:
>>> class Person:
... def sayHello(self):
... print('hello')
...
>>> Person.sayHello(None)
hello
>>> Person().sayHello()
hello
可以修...
分类:
编程语言 时间:
2014-09-18 22:22:34
阅读次数:
255
虚函数virtual表示动态继承,通过vptr指针指向vtable虚表,虚表中保存了每个虚函数的地址。通过父类指针在运行时绑定子类方法。虚继承:有几个父类,就有几个vtab和vptr定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必...
分类:
编程语言 时间:
2014-09-18 22:10:44
阅读次数:
237
C++ 虚函数表解析陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这样的技术能够让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说...
分类:
编程语言 时间:
2014-09-18 18:23:24
阅读次数:
232