您的位置:首页 > 其它

阅读下面的程序,并写出运行结果

2016-05-26 09:05 363 查看
/*
* Copyright(c)2016,烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:第12周项目:阅读下面的程序,并写出运行结果
* 作者:马康泰
* 完成日期:2016.5.19
* 版本号:v1.0
*
* 问题描述:阅读下面的程序,并写出运行结果
* 输入描述:
* 程序输出:
*/
//虚函数
#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 shoow(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;
}
<img src="https://img-blog.csdn.net/20160526090431669?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
//(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;
}
<img src="https://img-blog.csdn.net/20160526090437812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
//(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;
}
<img src="https://img-blog.csdn.net/20160526090447622?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: