私がしたいことの本質は、Vector2Dの2つのインスタンスを取得し、3番目のインスタンスに戻して作成する3番目のベクトルを作成することです。私が直面している問題は、そうすることにどのように進むべきかについて全面的にはわからないということです。そのようなものがあれば、インスタンスの送信の構文を見つけようとしましたが、私の書籍の中で有用なものを見つけることはできませんでした。2つのArrayインスタンスの合計を作成する
#include<iostream>
#include<string>
#include<array>
using namespace std;
class vector2D
{
public:
array<float, 2> get()
{
return xy_coord;
}
void set(float x, float y)
{
xy_coord[0] = x;
xy_coord[1] = y;
}
array<float, 2> vectorAdd(a, b)
{
array<float, 2> c;
for (int i = 0; i < 2; i++)
{
c[i] = a[i] + b[i];
}
return c;
}
private:
array<float, 2> xy_coord;
};
int main()
{
string y;
vector2D a, b, c;
array<float, 2> temp;
a.set(2.0, 3.0);
b.set(4.0, 5.0);
temp = c.vectorAdd(a, b);
c.set(temp[0], temp[1]);
getline(cin, y);
}
アイデアはvectorAddにインスタンスAおよびBに送信し、それらを合計することで、その後、(私は(メインでコードを書くためのより良い方法があると確信して返された値に等しいCを設定します)、しかし私はどのようにわからない)。要するに、この作業を行うためには、aとbを何とか定義する必要があります。
オペレータでC++クラスを使用できるようにすることができます。たとえば、「a + b」に意味があるとします。 https://en.wikipedia.org/wiki/Operator_overloading#Examplesをご覧ください – Treeston