で以下のコードを見ましたStackoverflow.com
。私は疑いがあるので、同じコードを探していました。以下のコードが表示される場合
CRectangle r1, *r2;
r2= new CRectangle;
1. なぜ実行するのnew CRectangle
ですか? 私たちは実際に何をしようとしているのでしょうか。
- 同僚の 1 人は、私たちが作成したコードを書くときに
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;
}