我不确定这在 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;
}
这部分有什么问题吗?