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

คุณควรใช้คลาสกับโครงสร้างใน C ++ เมื่อใด


โครงสร้างและคลาสจะคล้ายกันมากใน C++ ยกเว้นข้อแตกต่างบางประการ ดังนั้นรายละเอียดเกี่ยวกับความแตกต่างเหล่านี้จึงแสดงไว้ด้านล่างซึ่งช่วยในการตัดสินใจว่าจะใช้คลาสหรือโครงสร้างใน C++ เมื่อใด

ความแตกต่างระหว่างคลาสและโครงสร้าง

สมาชิกทั้งหมดของชั้นเรียนเป็นแบบส่วนตัวโดยค่าเริ่มต้น สิ่งนี้แตกต่างไปจากโครงสร้างเนื่องจากสมาชิกทั้งหมดของโครงสร้างเป็นสาธารณะโดยค่าเริ่มต้น

โปรแกรมที่แสดงคลาสในภาษา C++ มีดังต่อไปนี้ -

ตัวอย่าง

#include <iostream>
using namespace std;
class Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   return 0;
}

โปรแกรมนี้ส่งผลให้เกิดข้อผิดพลาดเนื่องจาก val เป็นส่วนตัวโดยค่าเริ่มต้น จึงไม่สามารถเข้าถึงได้โดยตรงโดยใช้ obj

โปรแกรมที่แสดงโครงสร้างในภาษา C++ มีดังต่อไปนี้ -

ตัวอย่าง

#include <iostream>
using namespace std;
struct Example {
   int val;
};
int main() {
   Example obj;
   obj.val = 20;
   cout<<"Value is: "<<obj.val;
   return 0;
}

ผลลัพธ์

ผลลัพธ์ของโปรแกรมข้างต้นเป็นดังนี้ −

Value is: 20

โปรแกรมข้างต้นทำงานได้อย่างถูกต้องเนื่องจาก val เป็นสาธารณะโดยค่าเริ่มต้น ดังนั้นสามารถเข้าถึงได้โดยตรงโดยใช้ obj

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