C と C の違い: 型システム: C はより弱く、C はより強力で、明示的な変換が必要です。オブジェクトとクラス: C ではサポートされていません。C ではサポートされており、カスタム タイプの作成と使用が可能です。継承とポリモーフィズム: C ではサポートされていませんが、C ではサポートされており、クラスの継承と再利用機能が可能です。関数と演算子のオーバーロード: C ではサポートされていません。C ではサポートされており、カスタム関数と演算子の動作が可能です。
C 対 C: ニュアンス分析
はじめに
C はい、いいえC言語から派生したオブジェクト指向プログラミング言語。類似点にもかかわらず、2 つの言語には重要な違いがあります。この記事では、これらの違いを検討し、理解を深めるためにコード例を示します。
型システム
// C int a = 10; double b = a; // 隐式转换 // C++ int a = 10; double b = static_cast<double>(a); // 显式转换
オブジェクトとクラス
// C++ class Person { public: string name; }; Person john; // 创建一个 Person 对象 cout << john.name; // 访问对象的成员
継承とポリモーフィズム
// C++ class Employee : public Person { public: int salary; }; Employee mary; // 创建一个 Employee 对象 cout << mary.name << ", " << mary.salary; // 访问对象属性和方法
関数のオーバーロードと演算子のオーバーロード
// C++ int add(int a, int b); // 函数重载 double operator+(double a, double b); // 运算符重载
実際的なケース
平均を計算するプログラムを考えてみましょう:
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); }
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; }
C バージョンでは、正確な平均値を得るために、明示的な型変換を使用して avg
が double
型になるようにします。さらに、cout
と cin
が入出力に使用され、ユーザー インターフェイスが強化されています。
以上がC++ と C++: 違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。