I have T class and Table that uses T for construction parameter.
struct T {
string name;
long value;
};
class Table {
public:
T a, b, c;
Table(T a, T b, T c) {
cout << "From constructor: " << a.name << endl;
this->a = a; this->b = b; this->c = c;
}
Table& operator=(const Table& a) {
cout << "In op=: " << a.a.name << endl;
return *this;
}
};
I also have an example function trying to invoke constructor and = operator.
int main(int argc, char *argv[]) {
Table phone_numbers {
{ "Donald Duck", 2015551234 },
{ "Mike Doonesbury", 9794566089 },
{ "Kell Dewclaw", 1123581321 }
};
Table phone_numbers2 = {
{ "Donald Dog", 2015551234 },
{ "Mike Doonesbury", 9794566089 },
{ "Kell Dewclaw", 1123581321 }
};
}
However both of them invokes only the constructor.
From constructor: Donald Duck
From constructor: Donald Dog
What might be wrong? How to invoke = operator in this case?
Aucun commentaire:
Enregistrer un commentaire