私は C++ が初めてで、2 つのオブジェクト間の変換を行うプログラムを作成しようとしています。と がClass1
ありClass2
ますConvert
。Class1 オブジェクトを取り込んで Class2 オブジェクトに変換し、Class2 オブジェクトを返す関数が必要です。現在、私の変換クラスは基本的に次のとおりです。
Convert.h
#ifndef Convert_H
#define Convert_H
#include "Class1.h"
#include "Class2.h"
class Convert
{
public:
Convert();
Class1 c1;
Class2 c2;
Class2 C1ToC2(Class1);
};
#endif // Convert_H
Convert.cpp
#include "Convert.h""
#include "Class1.h"
#include "Class2.h"
Convert::Convert()
Class2 Convert::C1ToC2(Class1 c1)
{
//conversions
return c2;
}
これについていくつか質問があります。別のクラスを作成した理由は、他のクラスに変換関数を持たせたくないからです。
- これは、他のクラスから離れたくない関数を使用する良い方法ですか?
- このクラスをコンパイルすると、「Class2 の前にイニシャライザが必要ですが、Class2 オブジェクトを返したいので、関数を定義する必要があるのではないでしょうか?」と言って失敗します。
繰り返しになりますが、私は C++ を初めて使用します。学習しようとしている本がいくつかありますが、このようなオブジェクトの使用方法については実際には説明していません。完全に間違っています。