我有一個SimpleCircle類。其聲明如下:用C++創建一個對象的副本
class SimpleCircle
{
public:
SimpleCircle();
SimpleCircle(int rad);
SimpleCircle(const SimpleCircle&);
~SimpleCircle();
SimpleCircle operator++(int);
}
在我使用的定義:
SimpleCircle SimpleCircle::operator++(int)
{
SimpleCircle temp(*this);
++itsRadius;
return temp;
}
當我使用
SimpleCircle溫度(*此)
,是被調用的拷貝構造函數還是什麼?那裏發生了什麼?我沒有像
SimpleCircle(SimpleCircle newCircle)
或東西(除了拷貝構造函數等)
是的,它調用複製構造函數。 – modelnine 2012-04-09 16:58:27
'SimpleCircle(const SimpleCircle&);'是你的拷貝構造函數,它是被調用的。 – 2012-04-09 16:58:28
您可以使用調試器確定程序行爲。 – 2012-04-09 16:59:28