ใน C ++ และภาษาอิทธิพลอื่น ๆ ที่มีการสร้างโครงสร้างที่เรียกว่า ( struct) classและอื่นที่เรียกว่า ทั้งสองมีความสามารถในการเก็บฟังก์ชั่นและตัวแปร ความแตกต่างบางประการคือ:
- คลาสจะได้รับหน่วยความจำในฮีปและ
structได้รับหน่วยความจำในสแต็ก (หมายเหตุ: นี่คือสิ่งที่ผิดสำหรับ C ++ แต่อาจถูกต้องในสิ่งที่ OP เรียกว่า "ภาษาที่มีอิทธิพล") - ตัวแปรคลาสเป็นค่าเริ่มต้นและ
structเป็นแบบสาธารณะ
คำถามของฉันคือ: ถูกstructยกเลิกอย่างใดสำหรับชั้นเรียน? ถ้าเป็นเช่นนั้นทำไม นอกเหนือจากความแตกต่างข้างต้น a structสามารถทำสิ่งเดียวกับที่ชั้นเรียนทำได้ เหตุใดจึงต้องละทิ้งมัน