C++类成员函数什么情况下必须定义参数?

#include<string>
#include<iostream>
using namespace std;
class myVector
{
private:
int x;
int y;
int z;
public:
myVector();
myVector(int X,int Y,int Z);
myVector operator+(myVector V);
void show(myVector V);
};

myVector::myVector()
{
x=0;
y=0;
z=0;
}

myVector::myVector(int X,int Y,int Z)
{
x=X;
y=Y;
z=Z;
}

myVector myVector::operator +(myVector V)
{
myVector temp;
temp.x=this->x+V.x;
temp.y=this->y+V.y;
temp.z=this->z+V.z;
return temp;
}

void myVector::show(myVector V)
{
cout<<"("<<V.x<<","<<V.y<<","<<V.z<<")"<<endl;
}

int main()
{
myVector vec1(4,5,8);
myVector vec2(8,9,6);
myVector vec3;
vec3=vec1+vec2;
vec3.show(vec3);
cin.get();
return 0;
}
在这个程序中,我曾尝试定义成员函数show()如下:
void myVector::show()
{
cout<<"("<<x<<","<<y<<","<<z<<")"<<endl;
} 并在主函数中使用vec3.show(); 为什么会报错呢?

请求指点!

在这个程序中,我曾尝试定义成员函数show()如下:
void myVector::show()
{
cout<<"("<<x<<","<<y<<","<<z<<")"<<endl;
} 并在主函数中使用vec3.show();
出错是因为这个函数没有传入参数,也没有声明参数,但是cout中却有3个未定义的函数x,y,z.
你可以试试this->x,this->y,this->z
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-10
此处x自然就是this->x,按你的想法应该是没错的;

把你的错误信息贴出来看