继承和纯虚函数

原创 2013年12月02日 15:13:47

以不同进制【2,8,10,16】输出整数,要求抽象一个公共基类,然后派生出10,2,8,16这4个子类,输出函数print()用纯虚函数实现,分别创建10,8,16,2进制类各一个对象。

// print.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include
#include
using namespace std;
class Ctranslate
{
 public:
 virtual void print(int a)=0;
};
class CTwo:public Ctranslate
{
 public:
 void print(int a)
 {
  char ch[100];
  itoa(a,ch,2);
  cout<<"二进制:"<<ch<<endl;
 }
};
class CEight:public Ctranslate
{
 public:
 void print(int a)
 {
  char ch[100];
  itoa(a,ch,8);
  cout<<"八进制:"<<ch<<endl;
 }
};
class CTen:public Ctranslate
{
 public:
 void print(int a)
 {
  char ch[100];
  itoa(a,ch,10);
  cout<<"十进制:"<<ch<<endl;
 }
};
class CSixteen:public Ctranslate
{
public:
 void print(int a)
 {
  char ch[100];
  itoa(a,ch,16);
  cout<<"十六进制:"<<ch<<endl;
 }
};

int _tmain(int argc, _TCHAR* argv[])
{
 int a=0;
 CTwo two;
 CEight eight;
 CTen ten;
 CSixteen sixteen;
    cout<<"输入要输出的数"<<endl;
 cin>>a;
 two.print(a);
 eight.print(a);
 ten.print(a);
 sixteen.print(a);
  return 0;
}

 

子类继承父类,重写纯虚函数和虚函数时注意

今天遇到这么个问题,程序中定义了一个借口类,成员函数全是纯虚函数,我写的子类继承了这个接口类,但是报错提示说:无法实例化抽象类! 原因是这样的:子类继承父类时,必须重写父类的纯虚函数,函数名、返回类...
  • GK_2014
  • GK_2014
  • 2015年04月20日 21:51
  • 4361

C++虚继承虚基类虚函数纯虚函数总结

对于这些虚的,之前有很多歧义和不解,现在进行一下学习总结吧! 1.多重继承可能会导致二义性,而虚继承可以解决这个问题。虚继承是一种机制,类通过虚继承指出它希望共享其虚基类的状态,在虚继承下给定虚基类...
  • u011700461
  • u011700461
  • 2015年11月12日 16:59
  • 478

C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别

1.虚函数(impure virtual)   C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。   子类可以重写父类的虚函数实现子类的特殊化。   如...
  • ybhjx
  • ybhjx
  • 2016年06月30日 10:45
  • 2615

C++中虚函数与纯虚函数以及虚继承的相关知识

这篇文章主要利用网上的博客,经过自己的总结写成,不免出现错误情况,如有错误,请指正。 虚函数 首先是虚函数的意义。在面向对象的设计思想中,虚函数的作用是实现多态性。如何实现多态呢?下面看C++虚函数表...
  • chy19911123
  • chy19911123
  • 2015年09月08日 20:42
  • 475

C++嵌套类的继承及纯虚函数实现整理

嵌套类,纯虚函数,类继承,函数实现,运行时多态,感谢网友帮忙,虽然很简单,希望能帮到初学者及不熟悉语法的人!从简单开始~~ 该代码编译通过 #include "stdio.h"   class A  ...
  • yangbinbin11
  • yangbinbin11
  • 2015年05月21日 09:51
  • 501

(1.1.10)虚函数、纯虚函数和虚继承的区别以及“覆盖”的概念

首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数。 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。 定义纯虚函数是为了实...
  • fei20121106
  • fei20121106
  • 2015年03月11日 16:36
  • 756

C++学习:虚函数,纯虚函数(virtual),虚继承,虚析构函数

C++学习:虚函数,虚继承,纯虚函数(virtual)虚析构函数 虚函数 纯虚函数 虚析构函数 虚继承 简介 在java这种高级语言中,有abstract和interface这两个关键字.代...
  • qq_29924041
  • qq_29924041
  • 2017年06月25日 11:21
  • 770

C++ 虚函数、纯虚函数、继承、虚表、多态原理相关知识点总结

虚函数与纯虚函数 虚函数为了重载和多态的需要,在基类中是有定义的,即便定义是空,所以子类中可以重写也可以不写基类中的此函数! 纯虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中...
  • thaedi1024
  • thaedi1024
  • 2015年07月23日 14:36
  • 552

c++ template 多层继承下找不到纯虚拟函数实现 报错:undefined reference to "xxx"

如下代码中,定义了3个类,ClassA,ClassB,ClassC,依次为被继承关系,ClassA,ClassB是模板类, 在ClassA中定义了一个纯虚拟函数getKeyFromObject,实现...
  • 10km
  • 10km
  • 2015年10月13日 14:37
  • 1270

C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别

1.虚函数(impure virtual)   C++的虚函数主要作用是“运行时多态”,父类中提供虚函数的实现,为子类提供默认的函数实现。   子类可以重写父类的虚函数实现子类的特殊化...
  • fdsafwagdagadg6576
  • fdsafwagdagadg6576
  • 2016年03月02日 15:57
  • 209
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:继承和纯虚函数
举报原因:
原因补充:

(最多只允许输入30个字)