Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตัวสร้างโอเวอร์โหลดใน C ++


อย่างที่เราทราบดีว่าฟังก์ชั่นโอเวอร์โหลดเป็นหนึ่งในคุณสมบัติหลักของภาษาเชิงวัตถุ เราสามารถใช้ชื่อฟังก์ชันเดียวกันได้ ซึ่งมีชุดพารามิเตอร์ต่างกัน ที่นี่เราจะมาดูวิธีการโอเวอร์โหลดคอนสตรัคเตอร์ของคลาส C ++ การโอเวอร์โหลดคอนสตรัคเตอร์มีแนวคิดที่สำคัญบางประการ

  • คอนสตรัคเตอร์ที่โอเวอร์โหลดต้องมีชื่อเดียวกันและจำนวนอาร์กิวเมนต์ต่างกัน
  • ตัวสร้างถูกเรียกตามจำนวนและประเภทของอาร์กิวเมนต์จะถูกส่งต่อ
  • เราต้องส่งผ่านอาร์กิวเมนต์ขณะสร้างวัตถุ มิฉะนั้น ตัวสร้างจะไม่เข้าใจว่าตัวสร้างใดจะถูกเรียก

ตัวอย่าง

#include <iostream>
using namespace std;

class Rect{
   private:
   int area;
   public:
   Rect(){
      area = 0;
   }
   Rect(int a, int b){
      area = a * b;
   }
   void display(){
      cout << "The area is: " << area << endl;
   }
};

main(){
   Rect r1;
   Rect r2(2, 6);
   r1.display();
   r2.display();
}

ผลลัพธ์

The area is: 0
The area is: 12