两个派生类(十六进制 二进制)的虚拟功能
Virtual functions for 2 derived classes (Hex + binary)
我有基类数组,其中我的虚拟函数添加了添加
class Array
{
public:
unsigned char arr[100] = { 0 };
int size;
Array();
Array(int);
char operator[](int);
virtual Array& Add( Array);
};
我有两个派生的类十六进制(用于存储六边形数字(和bittring(用于存储二进制数字(:
class BitString : public Array
{
public:
BitString& operator&(BitString&);//and
BitString& operator|(BitString&);//or
BitString& operator^(BitString&);//xor
BitString& operator~();//not
};
class Hex: public Array
{
public:
Hex& operator+(Hex);
Hex& operator-(Hex);
Hex& operator*(Hex);
Hex& operator/(Hex);
bool operator==(const Hex);
bool operator>(const Hex);
bool operator<(const Hex);
Hex DecToHex(int);
};
我的任务,除了制作六角和bitstring的操作员,是覆盖添加bitstring和十六进制对象的虚拟添加函数。
我没有正确地得到:
1(我需要在十六进制和botstring
中发挥2个功能2(这些功能应该返回什么?十六进制,斑点或数组。
3(最快的方法是什么?将十六进制和斑点同时转换为小数,进行加法然后再次转换?
谢谢。
由于您的类是多态性的,因此Add()
函数应采用参考或指针参数:
class Array {
// ...
virtual Array& Add(Array&);
};
您现在可以在派生类中覆盖Add()
,具有不同的返回类型:
class Hex: public Array {
// ...
Hex& Add(Array&) override;
};
返回类型必须是执行替代的类的参考类型。这是替代可以更改返回类型的唯一情况。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 多态性和功能结合
- MPI 二进制文件 I/O 基本功能和性能问题
- 编写二进制文件模板功能
- 两个派生类(十六进制 二进制)的虚拟功能
- 搜索非二进制树C 的功能
- 简单的二进制搜索树非递归添加功能
- 编译后如何计算某些二进制功能(或基本块)的校验和
- 二进制树级别明智的打印功能不起作用
- 二进制搜索功能不起作用
- 将功能写入二进制文件
- C 功能具有3个参数,可在通用二进制输入中读取
- 为什么我的功能(在二进制树上)打印出意外的结果
- 二进制树搜索功能
- 二进制树高功能
- 平衡二进制搜索树搜索功能
- 使用boost范围转换适配器具有二进制功能
- 二进制搜索树(搜索功能)
- 需要帮助调试简单的更新二进制文件的功能