如何用for循环将Vector构造函数参数赋值给对应数组元素?
解决方案
首先注意到代码里存在一处命名不一致的笔误:头文件中私有成员数组是arr[SIZE],但默认构造函数里使用了components[i],需要统一为同一个名称(以下示例统一使用arr)。
带参数的构造函数可按如下方式实现,通过for循环完成参数赋值:
Vector::Vector(double x, double y, double z) { // 将参数存入临时数组,便于循环遍历赋值 double params[] = {x, y, z}; for (int i = 0; i < SIZE; ++i) { arr[i] = params[i]; } }
补充说明
- 若不想使用临时数组,也可通过循环内的条件判断直接赋值,但临时数组的写法更简洁,且完全符合你要求的for循环实现逻辑。
- 类的静态常量成员
SIZE在成员函数内部可直接访问,若需要更明确的作用域,也可写成Vector::SIZE。
内容的提问来源于stack exchange,提问作者Yuugen
相关产品推荐
相关产品推荐

