Logo th.boatexistence.com

โอเปอเรเตอร์โอเวอร์โหลดนั้นสืบทอดมาในคลาสที่ได้รับหรือไม่

สารบัญ:

โอเปอเรเตอร์โอเวอร์โหลดนั้นสืบทอดมาในคลาสที่ได้รับหรือไม่
โอเปอเรเตอร์โอเวอร์โหลดนั้นสืบทอดมาในคลาสที่ได้รับหรือไม่
Anonim

โอเปอเรเตอร์โอเวอร์โหลดทั้งหมดยกเว้นการมอบหมาย (โอเปอเรเตอร์=) ได้รับการสืบทอดโดยคลาสที่ได้รับ อาร์กิวเมนต์แรกสำหรับโอเปอเรเตอร์โอเวอร์โหลดฟังก์ชันสมาชิกอยู่เสมอของประเภทคลาสของอ็อบเจ็กต์ที่ ตัวดำเนินการถูกเรียกใช้ (คลาสที่ตัวดำเนินการถูกประกาศ หรือคลาสที่ได้มาจากคลาสนั้น)

การโอเวอร์โหลดใช้ได้กับการสืบทอดหรือไม่

ในลำดับชั้นการสืบทอด เมธอดซูเปอร์คลาสและคลาสย่อยสามารถแทนที่และโอเวอร์โหลดได้ … เมื่อโอเวอร์โหลด เมธอดของซูเปอร์คลาสและคลาสย่อยจะมีชื่อ same แต่มีลายเซ็นที่แตกต่างกันของประเภทพารามิเตอร์ รูปที่ 2 แสดงวิธีการโอเวอร์โหลดในลำดับชั้นการสืบทอด

เราสามารถโอเวอร์โหลดในคลาสที่ได้รับได้หรือไม่

ชอบ C++, ไม่มีความละเอียดเกิน ระหว่างคลาส Base และคลาสที่ได้รับ ใน C ไม่มีการโอเวอร์โหลดข้ามขอบเขต ขอบเขตคลาสที่ได้รับนั้นไม่ใช่ข้อยกเว้นสำหรับกฎทั่วไปนี้

การบรรทุกเกินพิกัดคืออะไร

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

ตัวดำเนินการใดที่ไม่สามารถสืบทอดได้

- ->ตัวดำเนินการมอบหมาย '=' ไม่ได้รับการสืบทอดโดยคลาสย่อย virtual Parent & โอเปอเรเตอร์=(Parent & p) // !!!!