Rumah >pembangunan bahagian belakang >C++ >C++ dan C++: Apakah perbezaannya?

C++ dan C++: Apakah perbezaannya?

WBOY
WBOYasal
2024-04-03 17:45:01921semak imbas

Perbezaan antara C vs. C++: Sistem jenis: C lebih lemah, C++ lebih kuat, memerlukan penukaran yang jelas. Objek dan kelas: Tidak disokong dalam C, disokong dalam C++, membenarkan penciptaan dan penggunaan jenis tersuai. Warisan dan polimorfisme: Tidak disokong oleh C, disokong oleh C++, membenarkan ciri warisan dan penggunaan semula kelas. Lebihan beban fungsi dan operator: Tidak disokong dalam C, disokong dalam C++, membenarkan fungsi tersuai dan gelagat pengendali.

C++ dan C++: Apakah perbezaannya?

C vs. C++: Analisis nuansa

Kata Pengantar

C++ ialah bahasa pengaturcaraan berorientasikan objek yang berasal daripada bahasa C. Walaupun terdapat persamaan, terdapat perbezaan penting antara kedua-dua bahasa. Artikel ini meneroka perbezaan ini dan menyediakan contoh kod untuk memperdalam pemahaman.

Sistem Jenis

  • C: Gunakan sistem jenis yang lebih lemah di mana pembolehubah boleh ditukar secara tersirat kepada jenis lain.
  • C++: Mempunyai sistem jenis yang lebih mantap yang memerlukan penukaran jenis yang jelas, meningkatkan keselamatan dan kebolehbacaan kod.
// C
int a = 10;
double b = a; // 隐式转换

// C++
int a = 10;
double b = static_cast<double>(a); // 显式转换

Objek dan Kelas

  • C: Tidak menyokong konsep pengaturcaraan berorientasikan objek (kelas, objek).
  • C++: Menyokong pengaturcaraan berorientasikan objek, membenarkan penciptaan jenis (kelas) dan kejadian (objek) yang ditentukan pengguna daripadanya.
// C++
class Person {
public:
    string name;
};

Person john; // 创建一个 Person 对象
cout << john.name; // 访问对象的成员

Warisan dan polimorfisme

  • C: Warisan dan polimorfisme tidak disokong.
  • C++: Menyokong warisan dan polimorfisme, membenarkan kelas terbitan mewarisi sifat dan kaedah kelas asas.
// C++
class Employee : public Person {
public:
    int salary;
};

Employee mary; // 创建一个 Employee 对象
cout << mary.name << ", " << mary.salary; // 访问对象属性和方法

Fungsi lebih muatan dan operator lebih muatan

  • C: Fungsi lebih muatan atau operator lebih muatan tidak disokong.
  • C++: Menyokong lebihan fungsi (fungsi dengan nama yang sama tetapi parameter berbeza) dan lebih muatan operator (menentukan operator untuk jenis tersuai).
r
// C++
int add(int a, int b); // 函数重载
double operator+(double a, double b); // 运算符重载
e

practical Example

mengatakan program yang mengira purata:

c

#include <stdio.h>
int main() {
    int num1, num2;
    printf("Enter two numbers: ");
    scanf("%d %d", &num1, &num2);
    float avg = (num1 + num2) / 2.0;
    printf("Average: %.2f\n", avg);
}
e

c ++

#include <iostream>
using namespace std;
int main() {
    int num1, num2;
    cout << "Enter two numbers: ";
    cin >> num1 >> num2;
    double avg = static_cast<double>(num1 + num2) / 2;
    cout << "Average: " << fixed << setprecision(2) << avg << endl;
}
e

dalam versi C ++, penukaran jenis eksplisit digunakan untuk memastikan bahawa avg 的类型为 double,以获得准确的平均值。此外,coutcin digunakan untuk input dan output, antara muka pengguna yang dipertingkatkan.

Atas ialah kandungan terperinci C++ dan C++: Apakah perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn