C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++の変換演算子


この記事では、C++の変換演算子とは何かを説明します。 C++はオブジェクト指向設計をサポートしています。したがって、いくつかの実世界のオブジェクトのクラスを具象型として作成できます。

場合によっては、いくつかの具象型オブジェクトを他の型オブジェクトまたはいくつかのプリミティブデータ型に変換する必要があります。この変換を行うには、変換演算子を使用できます。これは、クラスの演算子オーバーロード関数のように作成されます。

この例では、複素数のクラスを取得しています。実数と虚数の2つの引数があります。このクラスのオブジェクトをいくつかのdouble型データに割り当てると、変換演算子を使用してその大きさに変換されます。

サンプルコード

#include <iostream>
#include <cmath>
using namespace std;
class My_Complex {
   private:
      double real, imag;
   public:
      My_Complex(double re = 0.0, double img = 0.0) : real(re), imag(img) //default constructor{}
      double mag() {    //normal function to get magnitude
         return getMagnitude();
      }
      operator double () { //Conversion operator to gen magnitude
         return getMagnitude();
      }
   private:
      double getMagnitude() { //Find magnitude of complex object
         return sqrt(real * real + imag * imag);
      }
};
int main() {
   My_Complex complex(10.0, 6.0);
   cout << "Magnitude using normal function: " << complex.mag() << endl;
   cout << "Magnitude using conversion operator: " << complex << endl;
}

出力

Magnitude using normal function: 11.6619
Magnitude using conversion operator: 11.6619

  1. C++の関係演算子

    C ++プログラミングでは、次の演算子を使用して2つの変数に格納されている値を比較し、それらの間の関係を判別できます。これらの演算子は関係演算子と呼ばれます。使用可能なさまざまなC++関係演算子は-です。 演算子 説明 より大きい = 以上 == 等しい != 等しくない 未満 これらの演算子を使用して、オペランド間の関係を確認できます。これらの演算子は主に、2つのオペランド間の関係を見つけてそれに応じて動作するために、条件文とループで使用されます。たとえば、 例 #include<iostream&g

  2. C++の算術演算子

    C++には5つの基本的な算術演算子があります。彼らは- 追加(+) 減算(-) 分割(/) 乗算(*) モジュロ(%) 例 これらの演算子は、C++の任意の算術演算を操作できます。例を見てみましょう- #include <iostream> using namespace std; main() {    int a = 21;    int b = 10;    int c ;    c = a + b;    cout << "Line 1 - Va