为了便于说明多态,先从一个简单的例子说起
#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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class A
{
public void SayHello()
{
Console.WriteLine("我是父类的...
分类:
其他好文 时间:
2014-09-19 19:25:15
阅读次数:
162
基类的方法被所有继承的子类继承,是不应该被修改的,如果继承的子类重写了基类的方法,那么,再从这个子类派生出子类的话,这个派生的子类接口已经破坏掉了统一的接口.但有时候,我们需要一个子类能扩展基类的方法,但又不想破坏这个统一的接口,这时候,哥就来教你既能扩展功能,又能保证接口的统一性:)首先做几个实验...
分类:
其他好文 时间:
2014-09-19 19:03:25
阅读次数:
190
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
//从设计角度考量,通常将子类中共有的但却容易变化的特征抽取为虚函数在父类中定义,而在子类中通过覆写来重新实现其操作。
class A
{
publi...
分类:
其他好文 时间:
2014-09-19 17:39:45
阅读次数:
148
虚函数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
1. 类的定义 类定义包括类声明和类体两部分,类定义的语法格式如下: [修饰符] class 类名 [extends 父类名] [implements 类实现的接口列表] {类体}2. 对象的创建与引用 创建对象及访问对象成员 1.声明对象 ,格式如下: 类名 对象名表;例如...
分类:
编程语言 时间:
2014-09-18 13:17:03
阅读次数:
316
继承
多继承:字面上了解,即子类可以继承多个父类;
继承分类:公有继承、保护继承、私有继承。
公有继承(public)
基类的公有成员和保护成员可以作为其派生类的公有成员和保护成员
派生类的成员函数可以访问基类中的公有成员和保护成员,无法访问基类中的私有成员
派生类的对象可以访问基类的公有成员
私有继承(private)
基类的公有成员和保...
分类:
编程语言 时间:
2014-09-17 18:45:02
阅读次数:
218
1.定义向下类型转换:从父类转换为子类向上类型转换:从子类转换为父类2.区别和危险性1)一般来讲,向上类型转换都是安全的,例如:Base base;Device dev;base = dev; ←向上数据转换2)向下类型转换是危险的,因为子类可能存在一些父类其他不存在的个性(增加了成员变量和函数)....
分类:
其他好文 时间:
2014-09-17 15:09:22
阅读次数:
178