似たような構造のクラスが2つあります。
class A{
int a;
char *b;
float c;
A(char *str) { //allocate mem and assign to b }
};
class B{
int a;
char *b;
float c;
B(char *str) { //allocate mem and assign to b }
B(B & bref) { //properly copies all the data }
};
B
のオブジェクトをのオブジェクトにコピーしたいA
。次の変換は問題ありませんか?
A aobj("aobjstr");
B bobj("bobjstr");
bobj = aobj; //case 1
bobj = B(aobj); //case 2
ケース2は機能しますか?Bのコピーコンストラクターが呼び出されたときのaobj
ように、適切に変換および解釈されますか?B &
編集:どうですか?
B bobj(aobj)