ความแตกต่างสำคัญระหว่าง C และ C++:
- C เป็นสับเซตของ C++ โปรแกรม C ที่ถูกต้องทั้งหมดเป็นโปรแกรม C++ ที่ถูกต้อง
- C เป็นภาษาโครงสร้าง/กระบวนงาน (procedural) C++ เป็นภาษาเชิงวัตถุ (OOP)
- C ใช้ฟังก์ชันเป็นบล็อกสร้างหลัก C++ ใช้ออบเจกต์
- C ไม่มี reference variable C++ มี
- C ใช้ malloc/free สำหรับจัดสรรหน่วยความจำ C++ ใช้ new/delete
- C ไม่รองรับ error handling โดยตรง C++ มี exception handling
- C ไร้ function/operator overloading C++ รองรับทั้งคู่
- C ไม่รองรับ generic programming C++ มี templates
- C ไม่มี namespaces C++ มี