循环穿过阵列
Loop through an array
我想知道,如何通过int数组循环以获取其值并设置其值。我知道如何使用for循环立即获得,但是当我在用户创建的对象中使用并使用get set方法时,我不确定它的工作原理。
我完全是陌生的,我的讲座很少有指导。希望你们能帮助我。直到我所做的位置。
//point.h
class point {
private:
int x[4];
public:
int getx();
void setx();
};
//point.cpp
class point {
point::getx(){
// ??????
}
point::setx(){
// ???????
}
//main.cpp
int main(){
point objPoint;
objPoint.setx(/* ???? */);
???? = objPoint.getx();
}
首先,您的getx
方法不仅应返回int*
,不仅是int
,而且您的setx
应接收const int*
作为参数。其次,在您的Point.cpp文件中,您不应该重新列出class point
。
int* point::getx() { //version with copying
int* ans = new int[4];
for (int i = 0; i < 4; i++) {
ans[i] = x[i];
}
return ans;
}
void point::setx(const int* y) {
for (int i = 0; i < 4; i++) {
x[i] = y[i];
}
}
然后您可以像这样使用它们
int y[4] = {1, 2, 3, 4};
int* z;
objPoint.setx(y);
z = objPoint.getx();
完成后不要忘记delete[] z
。
如果我正确理解您,您可能想要更多的东西:
point.h:
class Point{
private:
int x, y;
public:
int getx();
int gety();
void setx(int value);
void sety(int value);
};
point.cpp
int Point::getx() { return x; }
int Point::gety() { return y; }
void Point::setx(int value) { x = value; }
void Point::sety(int value) { x = value; }
main.cpp
int main(int argc, char *argv[])
{
Point objPoint;
objPoint.setx(1);
int x = objPoint.getx();
cout << "x=" << x << endl;
return 0
}
更好的是,您可能希望定义诸如Point (int xvalue, int yvalue)
的构造函数。
imho ...
相关文章:
- 实现循环阵列队列
- 为什么基于循环范围不直接在C 中使用参数阵列
- 数组 - 循环遍历辅助阵列
- 如果在C 中已经回荡了另一个相同值的阵列元素,请防止循环回荡
- 为了通过阵列C 的表递增循环
- 我如何使我的循环转到char*阵列的尽头,并将每个城市都放在链接的列表中(城市被划分为白色的空间)
- 将多个功能存储到阵列C 以进行循环
- 存储文件中的字符串,但是数组仍然为空?阵列大小的循环
- 我该如何仅使用循环而无需阵列或向量
- 将整数从for循环存储在全球阵列中
- 每次循环时,输出一个具有较小字符的字符阵列
- C :自动变量扣除额的范围与循环的范围与多维阵列的循环的正常范围
- 标记元素C 阵列带嵌套循环
- 循环时,如何在C 中创建一个自动插入阵列
- 在循环的停止条件下访问阵列值是安全的吗?
- 将指针设置为双阵列以进行循环
- 我是否必须求助于循环,以比较C 中的两个2D阵列
- 将一个阵列设置为一个不循环的阵列
- 循环穿过阵列
- 2D 阵列循环显示