Sự khác biệt giữa C và C ++

Mục lục:

Anonim

Ngôn ngữ lập trình C là gì?

C là ngôn ngữ lập trình cấp trung bình được phát triển tại Bell Lab vào năm 1972 bởi Dennis Ritchie. Ngôn ngữ C kết hợp các tính năng của Ngôn ngữ cấp thấp cũng như Ngôn ngữ cấp cao. Do đó nó được coi là một Ngôn ngữ bậc trung.

C là một ngôn ngữ lập trình kiểu cổ điển cấp cao cho phép bạn phát triển phần mềm cơ sở và các ứng dụng di động. Ngôn ngữ C được phát triển với mục tiêu viết phần mềm hệ thống. Nó là một ngôn ngữ lý tưởng để phát triển hệ thống phần sụn.

Ngôn ngữ lập trình C ++ là gì?

C ++ là một ngôn ngữ lập trình máy tính có tính năng của ngôn ngữ lập trình C cũng như Simula67 (một ngôn ngữ hướng đối tượng đầu tiên). C ++ giới thiệu khái niệm Lớp và Đối tượng.

Nó đóng gói các tính năng ngôn ngữ cấp cao và cấp thấp. Vì vậy, nó được xem như một ngôn ngữ cấp độ trung gian. Trước đó nó được gọi là "C với các lớp" vì nó có tất cả các thuộc tính của ngôn ngữ C.

SỰ KHÁC BIỆT CHÍNH

  • C là ngôn ngữ hướng thủ tục, trong khi C ++ là ngôn ngữ lập trình hướng đối tượng.
  • C chỉ hỗ trợ con trỏ trong khi C ++ hỗ trợ cả con trỏ và tham chiếu.
  • C không cho phép bạn sử dụng tính năng nạp chồng hàm trong khi C ++ cho phép bạn sử dụng tính năng nạp chồng hàm.
  • C hỗ trợ các kiểu dữ liệu tích hợp trong khi C ++ hỗ trợ các kiểu dữ liệu cài sẵn cũng như do người dùng định nghĩa.
  • Ngôn ngữ C tuân theo phương pháp lập trình Top-Down trong khi C ++ theo phương pháp lập trình từ dưới lên.
  • C scan và printf được sử dụng cho đầu vào và đầu ra tiêu chuẩn trong khi trong C ++, cin và cout được cung cấp cho các hoạt động đầu vào và đầu ra tiêu chuẩn.

C Vs. C ++: Sự khác biệt chính

Cơ sở phân biệt C C ++
Kiểu lập trình Nó là một ngôn ngữ hướng thủ tục. Nó là một ngôn ngữ lập trình hướng đối tượng.
Tiếp cận Ngôn ngữ C tuân theo phương pháp lập trình Top Down C ++ theo cách tiếp cận lập trình từ dưới lên.
Phần mở rộng tệp Phần mở rộng tệp của chương trình C là .c Phần mở rộng tệp của ngôn ngữ chương trình c + + là.cpp
Phân chia chương trình Trong ngôn ngữ lập trình C, một mã chương trình lớn được chia thành các phần nhỏ được gọi là các hàm. Trong ngôn ngữ lập trình C ++, một mã chương trình lớn được chia thành Đối tượng và Lớp.
Kết cấu Cấu trúc trong C không cung cấp tính năng khai báo hàm. Cấu trúc trong C ++ cung cấp tính năng khai báo một hàm như một hàm thành viên của cấu trúc.
Hàm nội tuyến Nó không cho phép chức năng nội tuyến. Nó hỗ trợ chức năng nội tuyến.
Hoạt động I / O tiêu chuẩn In C scan và printf được sử dụng cho đầu vào và đầu ra tiêu chuẩn Trong C ++, cin »và cout« được đưa ra cho các hoạt động đầu vào và đầu ra tiêu chuẩn.
Bảo mật dữ liệu Trong ngôn ngữ C, dữ liệu không được bảo mật. Dữ liệu được bảo mật nên các chức năng bên ngoài không thể truy cập. (Sử dụng khái niệm đóng gói của OOP)
Dễ mã hóa C là một ngôn ngữ lập trình cũ hơn được mô tả là Hands-on. Trong ngôn ngữ này, bạn phải yêu cầu chương trình làm mọi thứ. Hơn nữa, ngôn ngữ này sẽ cho phép bạn làm hầu hết mọi thứ. C ++ là một ngôn ngữ mở rộng của C. Nó cho phép mã hướng đối tượng được kiểm soát cao.
Khả năng tương thích với các ngôn ngữ khác C không tương thích với ngôn ngữ khác. C ++ tương thích với các ngôn ngữ lập trình chung khác.
Con trỏ C chỉ hỗ trợ con trỏ. C ++ hỗ trợ cả con trỏ và tham chiếu.
Biến đổi Trong C, biến nên được định nghĩa ở đầu chương trình. C ++ cho phép bạn khai báo các biến ở bất kỳ đâu trong hàm.
Tiêu điểm C tập trung vào các bước hoặc thủ tục được tuân theo để giải quyết một vấn đề. C ++ nhấn mạnh các đối tượng chứ không phải các bước hoặc thủ tục. Nó có mức độ trừu tượng cao hơn.
Quá tải chức năng C không cho phép bạn sử dụng chức năng quá tải. C ++ cho phép bạn sử dụng tính năng nạp chồng hàm.
Loại dữ liệu Ngôn ngữ C không cho phép bạn khai báo kiểu dữ liệu String hoặc Boolean. Nó hỗ trợ các kiểu dữ liệu tích hợp và nguyên thủy. C ++ hỗ trợ kiểu dữ liệu String và Boolean.
Xử lý ngoại lệ C không hỗ trợ Xử lý Ngoại lệ. Tuy nhiên, nó có thể được thực hiện bằng một số cách giải quyết. C ++ hỗ trợ xử lý ngoại lệ. Hơn nữa, thao tác này có thể được thực hiện bằng cách sử dụng khối try and catch.
Chức năng Không cho phép các chức năng có sắp xếp mặc định Cho phép các chức năng với sự sắp xếp mặc định.
Không gian tên Nó không có trong ngôn ngữ C. Nó hiện diện trong ngôn ngữ C ++.
Mã nguồn Mã nguồn chương trình định dạng tự do. Ban đầu được phát triển từ ngôn ngữ lập trình C.
Mối quan hệ C là một tập con của C ++. Nó không thể chạy mã C ++. C ++ là tập siêu của C. C ++ có thể chạy hầu hết mã C trong khi C không thể chạy mã C ++.
Thúc đẩy bởi Ngôn ngữ hướng chức năng Ngôn ngữ hướng đối tượng
Tiêu điểm Tập trung vào phương pháp hoặc quy trình thay vì dữ liệu. Tập trung vào dữ liệu thay vì phương pháp hoặc thủ tục.
Đóng gói Không hỗ trợ đóng gói. Vì Dữ liệu và các chức năng là các thực thể riêng biệt và tự do. Hỗ trợ đóng gói. Dữ liệu và các chức năng được đóng gói cùng nhau như một đối tượng.
Che giấu thông tin C không hỗ trợ ẩn thông tin. Trong ngôn ngữ này, dữ liệu là các thực thể tự do và có thể được thay đổi bên ngoài mã. Đóng gói ẩn dữ liệu. Vì vậy, cấu trúc dữ liệu và toán tử được sử dụng theo ý định.
Quản lý bộ nhớ C cung cấp các hàm malloc () và calloc () để cấp phát bộ nhớ động. C ++ cung cấp một toán tử mới cho mục đích này.
Loại dữ liệu Hỗ trợ các kiểu dữ liệu tích hợp sẵn. Hỗ trợ các kiểu dữ liệu cài sẵn và do người dùng xác định.
Biến toàn cục Cho phép khai báo nhiều biến toàn cục. Không được phép khai báo nhiều biến toàn cục.
Khái niệm về ánh xạ Ánh xạ giữa Dữ liệu và Hàm rất phức tạp. Ánh xạ giữa Dữ liệu và Chức năng có thể được thiết lập dễ dàng bằng cách sử dụng "Lớp và Đối tượng."
Di sản Kế thừa không được hỗ trợ C Có thể kế thừa trong ngôn ngữ C ++.
Tệp tiêu đề mặc định C đã sử dụng tệp tiêu đề stdio.h. C ++ sử dụng iosteam.h làm tệp tiêu đề mặc định.
Chức năng ảo Khái niệm về Hàm ảo có trong C. Khái niệm Hàm ảo không được sử dụng trong C ++.
Từ khóa Chứa 32 từ khóa. Chứa 52 từ khóa.
Tính đa hình Trong C. Tính đa hình là không thể Khái niệm đa hình được sử dụng trong C ++. Tính đa hình là một trong những Tính năng quan trọng nhất của OOPS.
Lập trình GUI Ngôn ngữ C cung cấp công cụ GTK để lập trình GUI C ++ hỗ trợ các công cụ Qt để lập trình GUI