Bre*_*ugh 2 c++ arrays constructor class
我从我的编程类,这是一个任务很措辞不当...下面这行真的树桩我.我们正在创建一个名为FloatArray的类,它包含一个数组(arr
它只是指向一堆数组的指针floats
).
默认构造函数FloatArray(); 应该创建零宽度和零高度的数组.
我不知道我的教授的意思是什么......还有其他人吗?我们需要提供另一个构造函数,它指示数组的高度和宽度.这很好,花花公子 - 只需插入数字,然后分配......但他的意思是"创建零宽度和零高度的数组"?
您知道,数组只是定义为:
float *arr;
Run Code Online (Sandbox Code Playgroud)
帮助我理解这种疯狂!如果由我决定,我甚至不会为这样一个班级做一个空白的构造函数......
无论如何 - 我在这里俯瞰什么吗?这是我以前从未遇到过的某种术语,还是我说这是疯狂的?
我应该在默认的构造函数中执行以下操作吗?
*arr = 0;
Run Code Online (Sandbox Code Playgroud)
因为我不能做arr = new float[0]
,现在我可以:P(或者我可以 - 我只是尝试过它(感谢托马斯!)并且它编译并运行......!?)
这是否意味着当我这样做时arr = new float[0]
,arr
指向堆上的某个位置(开头?)?
我知道这个问题似乎很模糊,但这就是整个任务的方式 - 措辞非常差.我只是想确保它不仅仅是我!
本练习可能旨在突出界面和表示之间的差异.我不知道FloatArray
该类中的其他方法应该是什么,但我怀疑有一些方法可以在数组的特定位置获取和设置元素.
使用这样的默认构造函数,类应该创建一个对象,其行为就像它具有零宽度和零高度一样.也就是说,如果调用者然后请求设置数组的特定元素,那么该方法应该返回它通常用于"越界"的任何条件.也就是说,通过抛出异常或错误返回等等.
在内部,即使通过分配内存,类也可以表示它喜欢的条件.也许它足以设置arr = NULL
,或者它必须指向非空的内存,但这取决于你作为类的实现者.关键是界面应该以分配问题定义的特定方式起作用.
归档时间: |
|
查看次数: |
362 次 |
最近记录: |