C ++でそれが合法かどうかはわかりません:
class Image
{
Image(int w, int h) // constructor
{
...
}
Image GetSpecialImage()
{
Image rVal(10,10);
return rVal;
}
}
init()
C ++でこれを行うには、別の中間レベルのメソッドを使用する必要がありますか?はいの場合、方法を教えていただけますか?
EDIT:
あなたはそれでいいと言っても、それは私がやりたいことを実際にはしません...もう少しコードをあげましょう:
class Image
{
float* data;
int w;
int h;
Image(int w, int h) // constructor
{
this->w = w;
this->h = h;
data = (float*) malloc ( w * h * sizeof(float) );
}
Image GetSpecialImage()
{
Image rVal(this->w,this->h);
for(i=0;i<this->w * this->h;i++)
{
rVal.data[i] = this->data[i] + 1;
}
return rVal;
}
}
int main()
{
Image temp(100, 100);
Image result = temp.GetSpecialImage();
cout<<result.data[0];
return 0;
}
この部分に何か問題がありますか?