【发布时间】:2014-05-04 06:03:01
【问题描述】:
不熟悉C++编程, 试图在这里概念化一个问题:
在本练习中,我们将限制自己使用一种数字类型, float,所以我们需要一个这种类型的数组;称之为 fmemory。但是,指针值 (地址)也存储在内存中,因此我们需要另一个数组来存储它们。自从 我们使用数组索引来建模地址,以及除了最大数组之外的所有索引 可以存储在 int 类型中,我们将创建一个这种类型的数组(称为 pmemory)来保存这些 “指针。”
fmemory 的索引(称为 fmem_top)指向下一个可用位置 值可以存储。有一个与 pmemory 类似的索引(称为 pmem_top)。别担心 关于耗尽“内存”。我们假设这些数组足够大,这样每个 当我们存储一些东西时,我们可以简单地将它插入到数组中的下一个索引号处。 除此之外,我们不会担心内存管理。
创建一个名为 Float 的类。我们将使用它来模拟存储的 float 类型的数字 在 fmemory 而不是真实内存中。 Float 中唯一的实例数据是它自己的“地址”; 即其浮点值存储在 fmemory 中的索引。调用此实例变量 地址。 Float 类还需要两个成员函数。第一个是单参数构造函数 用浮点值初始化浮点数。此构造函数存储浮点数 fmem_top 指向的 fmemory 的元素中的值,并存储 地址中的 fmem_top。这类似于编译器和链接器如何安排存储一个普通的 实内存中的变量。第二个成员函数是重载的 & 运算符。 它只是在 addr 中返回指针(实际上是索引,类型 int)值。
所以,我推断的是我需要创建这样的东西
#include <iostream>
using namespace std;
class Float
{
private:
int addr;
float fmem_top,pmem_top;
public:
Float(float* fmem_top){};
Float(int* addr){}
};
int main()
{
//this is where I become confused
}
我会在 main 方法中使用这样的东西吗? 浮动 fmem; 浮动 pmem;
【问题讨论】:
-
如果您的老师给您示例使用代码作为她/他想要的说明,那就太好了。阅读作业我认为 Float 就像
Float f1, f2;一样简单地使用。 -
好吧,这很有道理。如果我想显示地址,我该如何调用main方法中的地址?
-
听起来像是一个疯狂的问题,旨在迷惑新程序员并让他们停止编程。