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

เมื่อไหร่ควรใช้ Class หรือ Struct ใน C++


ความแตกต่างระหว่าง Class และ Struct ใน C++

Structures และ classes คล้ายกันมากใน C++ แตกต่างเพียงเล็กน้อย รายละเอียดความแตกต่างช่วยตัดสินใจเมื่อไหร่ควรใช้แต่ละอย่าง

ความแตกต่างหลัก

  • Class: สมาชิกทุกตัวเป็น private โดยค่าเริ่มต้น
  • Struct: สมาชิกทุกตัวเป็น public โดยค่าเริ่มต้น

ตัวอย่าง Class

#include <iostream>
using namespace std;

class Example {
    int val;
};

int main() {
    Example obj;
    obj.val = 20; // Error: val เป็น private
    return 0;
}

โปรแกรม error เพราะ val เป็น private ไม่เข้าถึงได้โดยตรง

ตัวอย่าง Struct

#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 เป็น public โดยค่าเริ่มต้น

ความแตกต่างอีกอย่างคือการสืบทอด (inheritance): สืบทอด class -> base class เป็น private โดยค่าเริ่มต้น สืบทอด struct -> base struct เป็น public โดยค่าเริ่มต้น