//虚函数是多态的关键 virtual 我们直接定义对象 来调用函数并不能实现多态性
//多态的特性是 父类的指针可以指向子类的对象 我们可以令父类的指针指向 不同的子类对象MFC类库就是多态的原理
//比如下面我们如果同时让p1 p2分别指向新开辟的 A B类的对象 那么 调用print函数的时候就会出现都调用的基类的函数
//如何解决这个问题 呢? 那么就要用到虚函数了 我们解决的关键是将 基类的成员函数声明为虚函数 那么就可以实现多态
#include <iostream>
using namespace std ;
class A
{
public :
virtual void print()
{
cout<<"this is A "<<endl;
}
};
class B :public A
{
public :
void print()
{
cout<<"this is B"<<endl;
}
};
int main()
{
A * p1=new A ;
A * p2=new B;
p1->print() ;
p2->print() ;
return 0;
}
//多态的另一个作用就是纯虚函数
//纯虚函数 只要一个类中有 类似 virtual void a() =0 ;
//包含一个纯虚函数的类就叫抽象类 抽象类不能实现对象 只能作为接口使用 。和java的借口 类似
//在子类中如果想要实现对象 必须要实现 抽象类中的 纯虚函数
#include <iostream>
using namespace std ;
class Animal
{
public :
virtual void Language() =0;
};
class Dog :public Animal
{
public :
void Language()
{
cout<<"wang wang.."<<endl;
}
};
void main()
{
Dog dog ;
dog.Language() ;
}
分享到:
相关推荐
C++虚函数多态和纯虚函数多态的经典示例源码
后端 / C++ 类 封装 继承 多态 stl容器 虚函数 纯虚函数 友元函数 模板
C++中的虚函数与多态示例代码与详解…………………………
c++虚函数.C++中的虚函数的作用主要是实现了多态的机制。
C++实验六 多态性和虚函数的应用 课程 实验报告 作业参考的良品!
高质量的C++多态讲解,详细讲解虚函数,虚函数表,虚函数继承,虚函数继承下的内存分配等
2、熟练掌握虚函数的作用及其使用方法。 3、掌握静态关联和动态关联的概念和用法。 4、理解纯虚函数和抽象类的概念和用法。 (二)实验内容 1、定义一个类A,在A中有两个私有的整型变量a和b,定义构造函数对a和b进行...
C++多态虚函数表,C++多态虚函数表,希望大家共同交流学习。
简单例子展示虚函数展现的多态特性,更改一处注释就能对比基类是否是虚函数带来的变化
实验三虚函数与多态纯虚函数.doc
C++虚函数和多态学习笔记
一个类的虚函数在它自己的构造函数和析构函数中被调用的时候,它们就变成普通函数了,不“虚”了。也就是说不能在构造函数和析构函数中让自己“多态”。
实验三虚函数与多态纯虚函数完整版.pdf
那么,什么是虚函数呢,我们先来看看微软的解释: 虚函数是指一个类中你希望重载的成员函数,当你用一个基类指针或引用指向一个继承类对象的时候,你调用一个虚函数,实际调用的是继承类的版本。
本文较为深入的分析了C++中虚函数与纯虚函数的用法,对于学习和掌握面向对象程序设计来说是至关重要的。具体内容如下: 首先,面向对象程序设计(object-oriented programming)的核心思想是数据抽象、继承、动态...
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际 子类的成员函数。
1.C++中的虚函数C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是...
本人课程设计代码,VS2015以上直接运行,代码注释,其中有详细的函数运行解释,很容易看懂,用了虚函数、虚基类、多态。
很好的虚函数表解析, 代码,图,文并茂,对多态的理解会非常深刻