第13周项目-阅读程序
来源:互联网 发布:ipad淘宝没有微淘 编辑:程序博客网 时间:2024/04/27 23:11
/**copyright (c)2015,烟台大学计算机学院*All rights reserved*文件名称:project.cpp*作者:孙春红*完成日期:2015年6月3日*版本号:v1.0**问题描述:程序阅读。*输入描述:略。*程序输出:略。*/1、阅读下面的程序,并写出运行结果(1)虚函数#include<iostream>using namespace std;class A {int a;public: A():a(5){} virtual void print()const { cout<<a;}//定义虚函数};class B: public A { char b;public: B() { b='E'; } void print() const { cout<<b; }};void show(A &x) { x.print(); }int main(){ A d1,*p; //在基类中声明了一个指针 B d2; p=&d2; d1.print(); d2.print(); p->print(); show(d1); show(d2); return 0;}运行结果:5EE5E(2)虚析构函数#include <iostream> using namespace std; class BASE { private: char c; public: BASE(char n):c(n) {} virtual ~BASE() { cout<<c; } }; class DERIVED:public BASE { private: char c; public: DERIVED(char n):BASE(n+1),c(n) {} ~DERIVED(){ cout<<c; } }; int main(){ DERIVED d('X'); return 0; } 知识点总结:在不加虚析构函数时,析构函数只执行基类的,加上后,会先执行派生类的析构函数,然后再执行基类的析构函数。运行结果:xy(3)纯虚函数#include <iostream> using namespace std; class Base { public: virtual void Who() =0; //告诉系统这是一个纯虚数函数 }; class FirstDerived:public Base { public: void Who() { cout<<"F"; } }; class SecondDerived:public Base { public: void Who() { cout<<"S"; } }; int main() { FirstDerived first_obj; SecondDerived second_obj; Base &bref=first_obj; bref.Who(); bref=second_obj; bref.Who(); Base *bp; bp=&first_obj; bp->Who(); bp=&second_obj; bp->Who(); return 0; } 运行结果:FFFS知识点总结:纯虚函数是虚函数,而虚函数的作用是通过指针和引用来访问基类和派生类中的同名函数,所以在 bref=second_obj; bref.Who(); 时,只是复制了而没有运用引用或指针,所以输出的仍是F,而当指针指向bp=&second_obj; bp->Who(); 时,才输出了S。
0 0
- 第13周项目-阅读程序
- 第13周项目 程序阅读(1)
- 第13周项目 程序阅读(2)
- 第13周项目 程序阅读(3)
- 第13周项目 程序阅读(4)
- 第13周项目 程序阅读(5)
- 第13周项目 程序阅读(6)
- 第13周项目-阅读程序(2)
- 第13周项目训练1.2 阅读程序
- 第12周项目 1.1 阅读程序
- 第15周项目2-阅读程序
- 第15周项目2.1 阅读程序
- 第15周 项目2 阅读程序
- 第15周项目2-阅读程序
- 第15周 项目2-阅读程序
- 第15周项目2-阅读程序
- 第1周项目1-阅读程序
- 第3周-项目0-阅读程序
- Android 实现记住用户名和密码的功能
- 第13周-程序阅读(2)
- HDU-2015
- 第十三周阅读程序一
- mybatis学习
- 第13周项目-阅读程序
- [CentOS] CentOS 6 IPv6 关闭方法
- 谈人生理想与个人实现
- 第十三周项目1——动物这样叫(抽象类)
- [C#基础]线程学习笔记(二)
- java基础——String,StringBuffer和StringBuilder
- 第十三周阅读项目二
- 访问WORD表格行或列时产生的错误"无法访问此集合中单独的行,因为表格有纵向合并的单元格。"
- 第十二周 课后实践:程序阅读(5)