我在Stackoverflow.com
. 我正在寻找相同的代码,因为我有疑问。如果我们将看到下面的代码
CRectangle r1, *r2;
r2= new CRectangle;
1. 我们为什么要这样做new CRectangle
?我们实际上想要做什么?
- 一位同事告诉我,当我们编写我们制作的代码时
CRectangle *r2 = 0;
,
然后我们initialize
用一些其他的值或地址。我真的很困惑。请帮我。
using namespace std;
class CRectangle
{
int width, height;
public:
void set_values (int, int);
int area (void) {return (width * height);
}
};
void CRectangle::set_values (int a, int b)
{
width = a;
height = b;
}
int main ()
{
CRectangle r1, *r2;
r2= new CRectangle;
r1.set_values (1,2);
r2->set_values (3,4);
cout << "r1.area(): " << r1.area() << endl;
cout << "r2->area(): " << r2->area() << endl;
cout << "(*r2).area(): " << (*r2).area() << endl;
delete r2;
return 0;
}