簡體   English   中英

使用名稱創建參數化構造函數對象

[英]Parameterized Constructor Object creation using name

class Point
{
private:
int x, y;
public:
Point()
{
}
// Parameterized Constructor
Point(int x1)
{
 x=x1;
}
Point(int x1, int y1)
{
    x = x1;
    y = y1;
}
int getX()
{
    return x;
}
int getY()
{
    return y;
}
};
int main()
{
   Point p(10);
   p = Point(50,100);
}

Point(50,100) 會返回一個對象嗎??誰能解釋一下 main 函數的執行細節。 用 Point(50,100) 分配 p 它應該給出一個對象。

這里Point(50,100)創建一個對象,然后調用class Point的賦值運算符, class Point由編譯器默認生成,基本上將右手操作數的內存復制到左手操作數中。 復制后,它還調用Point(50,100)的析構函數。

您可以通過向函數添加析構函數來檢查這一點。

~Point()
{
    std::cout<<"destructor"<<x<<std::endl;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM