Home > C++, Programming, Software Development > อะไรจะเกิดขึ้นเมื่อทำการเรียก Default Assigment Operator กับคลาสที่มี Constant Member

อะไรจะเกิดขึ้นเมื่อทำการเรียก Default Assigment Operator กับคลาสที่มี Constant Member

ปรกติแล้ว ตามมารตฐาน C++ คอมไพล์เลอร์จะทำการสร้าง Assignment Operator มาให้ทุกคลาสโดยอัตโนมัติหากเราไม่สร้างมันขึ้นมา ซึ่งการทำงานของ Default Assignment Operator ตัวนี้ จะทำการเรียก Assignment Operator ของ Member ทุกตัวภายในคลาสหาก Member ตัวนั้นเป็น Object แต่หาก Member ตัวนั้นเป็นตัวแปรทั่วๆไป (เช่น int) รวมถึงตัวแปรแบบ struct ก็จะทำการ Copy ข้อมูลแบบปรกติ

หาก Member ของคลาสมีตัวที่เป็น Constant อยู่ละจะเกิดอะไรขึ้น? ผลลัพธ์คือ…

สรุป

หาก Member ของคลาสมี Constant อยู่ Assignment Operator จะไม่ถูกสร้างขึ้นมาโดยอัตโนมัติ

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: