我有一个具有其位置结构的类:
class thing
{
void setCoOrds(int, int, int);
string name;
struct location
{
int x;
int y;
int z;
} coOrd;
};
然后在一个函数中我创建了一个类型为thing的数组。
int main()
{
thing * p_myThings = new thing[5];
// call array element here to use setCoOrds()
delete p_myThings;
return 0;
}
从main函数中我将如何访问,比如,thing元素[3]以便我可以使用它的.setCoOrds()函数?
答案 0 :(得分:1)
应该是:
p_myThings[3].setCoOrds
还
setCoOrds
默认是私有的,不允许你调用该函数。
答案 1 :(得分:0)
int main()
{
thing * p_myThings = new thing[5];
p_myThings[3].setCoOrds(42,21,0);
delete[] p_myThings; // use delete[] for arrays btw
return 0;
}
答案 2 :(得分:0)
我想那个成员函数
void setCoOrds(int, int, int);
具有公共访问控制权。在这种情况下,您可以使用以下结构
p_myThings[3].setCoOrds( x, y, z );
或
( *( p_myThings + 3 ) ).setCoOrds( x, y, z );
或
( p_myThings + 3 )->setCoOrds( x, y, z );
答案 3 :(得分:0)
您应该使用:
p_myThings[3].setCoOrds(x, y, z);
要删除指针数组,您应该使用delete [] not delete