第一范文网 - 专业文章范例文档资料分享平台

《C++面向对象程序设计》教案

来源:用户分享 时间:2025/7/30 19:49:12 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

5.5 虚函数

1、引入派生类后的对象指针 例: class A { public:

void show(){ cout<<\};

class B:public A { public:

void show(){ cout<<\};

int main() { A a,*pc; B b;

pc=&a; pc->show(); pc=&b; pc->show(); } 输出为AA

2、虚函数的定义及使用

例:引入虚函数后,上面的例子改为如下 class A { public:

virtual void show(){ cout<<\};

class B:public A { public:

void show(){ cout<<\};

int main() { A a,*pc; B b;

pc=&a; pc->show(); pc=&b; pc->show(); }

输出为AB

3、纯虚函数和抽象类 例: class A { public:

virtual void show()=0; };

class B:public A { public:

void show(){ cout<<\};

int main() { A *pc; B b;

pc=&b; pc->show(); }

关于虚函数,有以下几点

1、如果成员函数是通过引用或指针,而不是通过对象来调用,那么,如果没有使用virtual,程序将根据引用类型或指针类型来选择方法;如果使用了virtual,程序将根据引用或指针指向的对象的类型来选择方法。

2、如果要在派生类中重新定义基类的方法,则将它设置为虚拟方法,否则是指为非虚拟方法

3、如果使用指向对象的引用或指针来调用虚拟方法,程序将使用为对象类型定义的方法,而不使用为引用类型或指针类型定义的方法,这称为动态联编或晚期联编。

4、在基类方法的声明中使用virtual可使该方法在基类以及所有的派生类中都是虚拟的。 5、一个未在派生类中定义的纯虚函数仍旧还是一个纯虚函数,该派生类仍为一个抽象类。 6、通常应给基类提供一个虚拟析构函数,这样,当派生类对象结束时,将先调用派生的析构函数,再调用基类的析构函数。

7、如果派生类没有重新定义虚拟函数,则将使用该函数的基类版本。

8、如果重新定义继承的方法,应确保与原来的原型完全相同。但有一个例外,就是如果返回类型是基类指针或引用,则可改为指向派生类的指针或引用。

实验 1 2 3 4 5 6

基本C++程序设计 类和对象程序设计 派生与继承程序设计 运算符重载程序设计 模板程序设计 I/ O 流程序设计

搜索更多关于: 《C++面向对象程序设计》教案 的文档
《C++面向对象程序设计》教案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c40tbd95j7z7yqpo85nb3_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top