ความแตกต่างหลัก
C เป็นภาษาโปรซีเจอรัล (Procedural) ไม่รองรับคลาสและออบเจ็กต์
C++ รองรับทั้งโปรซีเจอรัลและออบเจ็กต์指向 (Object-Oriented)
ตารางเปรียบเทียบ
| ลำดับ | หัวข้อ | C | C++ |
|---|---|---|---|
| 1 | ผู้พัฒนา/ปี | Dennis Ritchie, ~1969, AT&T Bell Labs | Bjarne Stroustrup, 1979 |
| 2 | ประเภทภาษา | Procedural Programming | Procedural + Object-Oriented |
| 3 | ฟีเจอร์ OOP | ไม่รองรับ Polymorphism, Encapsulation, Inheritance | รองรับ Polymorphism, Encapsulation, Inheritance |
| 4 | ความปลอดภัยข้อมูล | ข้อมูลเข้าถึงได้อิสระ (ไม่มี encapsulation) | มี encapsulation ปกป้องข้อมูล |
| 5 | รูปแบบการขับเคลื่อน | Function-driven | Object-driven |
| 6 | ฟีเจอร์เพิ่มเติม | ไม่มี function/operator overloading, namespace, reference variable | มี function/operator overloading, namespace, reference variable |
สรุป: C++ เป็น superset ของ C (เกือบทุกโค้ด C รันบน C++ ได้) แต่เพิ่มความสามารถ OOP และฟีเจอร์สมัยใหม่