【发布时间】:2020-02-27 00:03:38
【问题描述】:
我有一个任务要求我使用无符号整数来实现一个集合。
通常,我会使用内置的 c++ 集来存储 1-9 之间的数字。
任务是创建一个替代数据结构,通过无符号整数保存您的集合中的数字。
例如,如果我的集合中有一个数字“1”、“3”和“4”,它看起来像:
000001101
这可以通过在插入新项目时将每个位从 0 切换到 1 来完成。
但是当我最初通过构造函数创建我的“无符号整数”时:
class unsignedIntSet {
private:
unsigned int valuesInSet;
int noOfElements;
public:
unsignedIntSet() : noOfElements(0), valuesInSet(000000000){
cout<<"the values in the set are: "<<valuesInSet;
}
...
};
它打印:“集合中的值是:0256”
我如何能够将成员变量“valuesInSet”视为我给它的字面值 000000000,而不是出于某种原因对其进行转换。
【问题讨论】:
-
发布编译、运行和显示问题的代码。