给定一个int型n,编程实现按不同进制输出,包括十进制,八进制和十六进制。要求使用纯虚函数print()。
纯虚函数是写在虚类里的。
然后各个子类继承这个纯虚函数。
showmemeber就是一个纯虚函数。
#include <iostream>
using namespace std;
class A
{
protected:
int n;
int s[1000];
int num;
public:
A() {num = 0;}
A(int a) {n=a;num=0;}
virtual void print() = 0;
};
class Ten:public A
{
public:
Ten() {}
Ten(int a) : A(a) {}
void print()
{
int k = n;
while(k>0)
{
s[num++] = k%10;
k=k/10;
}
for(int i=num-1;i>=0;i--)
cout<<s[i];
}
};
class Eight:public A
{
public:
Eight() {}
Eight(int a) : A(a) {}
void print()
{
int k = n;
while(k>0)
{
s[num++] = k%8;
k=k/8;
}
for(int i=num-1;i>=0;i--)
cout<<s[i];
}
};
class Sixteen:public A
{
public:
Sixteen() {}
Sixteen(int a) : A(a) {}
void print()
{
num = 0;
int k = n;
while(k>0)
{
s[num++] = k%16;
k=k/16;
}
for(int i=num-1;i>=0;i--)
{
if(s[i]<10)
cout<<s[i];
else
cout<<(char)(s[i]-10+'A');
}
}
};
int main()
{
A *p = new Sixteen(1294);
p->print();
return 0;
}