假设我们有一个基类和一个派生类:快速基础对象的所有成员分配给派生对象在C++
class Base {
string s1;
string s2;
...
string s100; // Hundreds of members
};
class Derived : public Base{
string s101;
};
欲基础对象base
分配给一个派生对象derived
。我知道我们不能只用运算符“=”来为它的派生对象分配一个基础对象。 我的问题是:我们是否必须逐一制作所有成员的副本?像:
derived.s1 = base.s1;
derived.s2 = base.s2;
...
derived.s100 = base.s100;
有没有更快或更简洁的方法来做到这一点?过载操作符= 返回的基础对象?
基地=衍生? – Danh
派生对象不在那里,我当时只有一个基础对象作为数据源。我想创建一个新的派生对象,分配它的成员并将其放入一个容器中,比如地图。 –
那你为什么写'base.s1 = derived.s1' – Danh