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

C ++で「オブジェクトを返す」方法は?


オブジェクトはクラスのインスタンスです。メモリは、オブジェクトが作成されたときにのみ割り当てられ、クラスが定義されたときは割り当てられません。

returnキーワードを使用して、関数からオブジェクトを返すことができます。これを実証するプログラムは次のとおりです-

#include <iostream>
using namespace std;
class Point {
   private:
   int x;
   int y;
   public:
   Point(int x1 = 0, int y1 = 0) {
      x = x1;
      y = y1;
   }
   Point addPoint(Point p) {
      Point temp;
      temp.x = x + p.x;
      temp.y = y + p.y;
      return temp;
   }
   void display() {
      cout<<"x = "<< x <<"\n";
      cout<<"y = "<< y <<"\n";
   }
};
int main() {
   Point p1(5,3);
   Point p2(12,6);
   Point p3;
   cout<<"Point 1\n";
   p1.display();
   cout<<"Point 2\n";
   p2.display();
   p3 = p1.addPoint(p2);
   cout<<"The sum of the two points is:\n";
   p3.display();
   return 0;
}

出力

上記のプログラムの出力は次のとおりです。

Point 1
x = 5
y = 3
Point 2
x = 12
y = 6
The sum of the two points is:
x = 17
y = 9

それでは、上記のプログラムを理解しましょう。

クラスPointには、xとyの2つのデータメンバーがあります。パラメータ化されたコンストラクタと2つのメンバー関数があります。関数addPoint()は、2つのPoint値を追加し、合計を格納するオブジェクトtempを返します。関数display()は、xとyの値を出力します。このためのコードスニペットは次のとおりです。

class Point {
   private:
   int x;
   int y;
   public:
   Point(int x1 = 0, int y1 = 0) {
      x = x1;
      y = y1;
   }
   Point addPoint(Point p) {
      Point temp;
      temp.x = x + p.x;
      temp.y = y + p.y;
      return temp;
   }
   void display() {
      cout<<"x = "<< x <<"\n";
      cout<<"y = "<< y <<"\n";
   }
};

関数main()で、クラスPointの3つのオブジェクトが作成されます。 p1とp2の最初の値が表示されます。次に、関数addPoint()を呼び出すことにより、p1とp2の値の合計が検出され、p3に格納されます。 p3の値が表示されます。このためのコードスニペットは次のとおりです。

Point p1(5,3);
Point p2(12,6);
Point p3;
cout<<"Point 1\n";
p1.display();
cout<<"Point 2\n";
p2.display();
p3 = p1.addPoint(p2);
cout<<"The sum of the two points is:\n";
p3.display();

  1. JavaScript関数からオブジェクトを返す方法は?

    JavaScript関数からオブジェクトを返すには、 returnを使用します ステートメント、 this キーワード。 例 次のコードを実行して、JavaScipt関数からオブジェクトを返すことができます- <html>    <head>       <script>          var employee = {             empname: "David"

  2. C++の別のポイントを中心としたポイントの回転

    原点を中心とした点Xの回転は、反時計回りに角度θで行われます。- 原点反clRotateockwiseについてのXbyθ:X * Polar(1.0、θ)。 ここで、複素数の関数polarはヘッダーファイルで定義され、位相角と大きさを使用して複素数を見つけるために使用されます。polar(mag、angle)は複素数を返します。 点Yを中心とした点Xの回転 ポイントを別のポイントを中心に回転させるには、すべての座標の移動が特定の方向に発生する平行移動を使用します。 XをYを中心に回転させる手順。 XをYに変換すると、Yが新しい原点になります。これは、すべてのポイントから