注: これは割り当てです。割り当ての一部であるため、ユニオンを使用したソリューションを探しています。使用したいソリューションを提供しますが、この概念とアプローチを大局的に理解するための支援が必要です。---
ユニオンで文字列が機能しないことを認識しており、この質問は以前に尋ねられましたが、すべてブーストの提案を終了しているようです。しかし、誰かが指針を提案しているのを見ましたが、見過ごされているように見えたので、もっと明確にしたいと思いました. 以下に 2 つの構造体を示します。回避策として、両方の構造体へのポインターを含む共用体を使用します。
struct HourlyInfo {
string firstName;
string lastName;
string title;
int hoursWorked;
double hourlyRate;
};
struct SalaryInfo {
string firstName;
string lastName;
string title;
double salary;
double bonus;
};
union Employee {
HourlyInfo *hourlyEmployee;
SalaryInfo *salaryEmployee;
};
この方法に何か問題はありますか?私には、組合の目的に反しているように思えます。
編集:これは課題ですが、非常に自由です。私は答えを探しているのではなく、特定の方法を避けるべき、または避けるべき理由についての説明と意見を求めているだけです。私の代替手段は を使用しcstring
ていますが、ポインターメソッドを ( の利便性を持たせるためにstring
) を使用するだけで比較しようとしていcstring
ます。
編集 #2: ユニオンは、もう一方が定義されると、一方の構造体を無効にすることを理解しています。これらの労働組合の配列を作成します。従業員は時給または給与のいずれかであるため、この場合の労働組合の使用は保証されます。私の懸念は、回避策として文字列とポインターを使用することです。