Maison > développement back-end > C++ > C++ et C++ : quelle est la différence ?

C++ et C++ : quelle est la différence ?

WBOY
Libérer: 2024-04-03 17:45:01
original
924 Les gens l'ont consulté

Différences entre C et C++ : Système de types : C est plus faible, C++ est plus fort, nécessite une conversion explicite. Objets et classes : non pris en charge en C, pris en charge en C++, permettant la création et l'utilisation de types personnalisés. Héritage et polymorphisme : non pris en charge par C, pris en charge par C++, permettant l'héritage de classe et les fonctionnalités de réutilisation. Surcharge de fonctions et d'opérateurs : non prise en charge en C, prise en charge en C++, permettant un comportement personnalisé des fonctions et des opérateurs.

C++ et C++ : quelle est la différence ?

C vs C++ : Une analyse des nuances

Avant-propos

C++ est un langage de programmation orienté objet dérivé du langage C. Malgré les similitudes, il existe des différences importantes entre les deux langues. Cet article explore ces différences et fournit des exemples de code pour approfondir la compréhension.

Système de types

  • C: Adoptez un système de types plus faible où les variables peuvent être implicitement converties en d'autres types.
  • C++ : Présente un système de types plus robuste qui nécessite des conversions de types explicites, améliorant ainsi la sécurité et la lisibilité du code.
// C
int a = 10;
double b = a; // 隐式转换

// C++
int a = 10;
double b = static_cast<double>(a); // 显式转换
Copier après la connexion

Objets et classes

  • C: Ne prend pas en charge les concepts de programmation orientée objet (classes, objets).
  • C++ : Prend en charge la programmation orientée objet, permettant la création de types (classes) et d'instances (objets) définis par l'utilisateur à partir de ceux-ci.
// C++
class Person {
public:
    string name;
};

Person john; // 创建一个 Person 对象
cout << john.name; // 访问对象的成员
Copier après la connexion

Héritage et polymorphisme

  • C: L'héritage et le polymorphisme ne sont pas pris en charge.
  • C++ : Prend en charge l'héritage et le polymorphisme, permettant aux classes dérivées d'hériter des propriétés et des méthodes des classes de base.
// C++
class Employee : public Person {
public:
    int salary;
};

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

Surcharge de fonctions et surcharge d'opérateurs

  • C : La surcharge de fonctions ou d'opérateurs n'est pas prise en charge.
  • C++ : Prend en charge la surcharge de fonctions (fonctions avec le même nom mais des paramètres différents) et la surcharge d'opérateurs (définition d'opérateurs pour les types personnalisés).
// C++
int add(int a, int b); // 函数重载
double operator+(double a, double b); // 运算符重载
Copier après la connexion

Exemple pratique

Considérons un programme qui calcule la moyenne :

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);
}
Copier après la connexion

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;
}
Copier après la connexion

Dans la version C++, des conversions de type explicites sont utilisées pour garantir que avg 的类型为 double,以获得准确的平均值。此外,coutcin est utilisé pour entrée et sortie, interface utilisateur améliorée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal