C++两个派生类的副本
C++ copy of two derived class
我有一个基类和两个派生类,我需要将指向派生类对象的指针复制到另一个类之一,如示例所示。
class Base
{
public:
Base(const Base& other);
}
class Derived1 :public Base
{
public:
Derived1(const Derived& other): Base(other){...};
}
class Derived2: public Base
{
public:
Derived2(const Derived& other): Base(other){...};
}
main()
{
Derived 1 d1;
Derived2 d2(d1)
}
我尝试从派生 1 ti 基(允许向上转换),然后从 *dynamic_cast* 基传递到 Derived2 并调用复制构造函数,但它不起作用。我只需要在两个派生对象之间复制两个对象的 Base 部分。
如果你的意图只是复制基类部分,请创建一个接收基类的构造函数。
Derived2(const Base& other): Base(other){...};
Derived1(const Base& other): Base(other){...};
相关文章:
- 为什么使用 "this" 指针调用派生成员函数?
- 具有奇怪重复模板模式的派生类中的成员变量已损坏
- 在派生函数中指定void*参数
- 如何通过派生类函数更改基类中的向量
- 如何委托派生类使用其父构造函数?
- 如何使用单独文件中的派生类访问友元函数对象
- 派生类销毁的最佳实践是什么
- 如何使用基类指针引用派生类成员
- 派生类是否可以在抽象工厂设计模式中具有数据成员
- 使用基类指针创建对象时,缺少派生类析构函数
- 如何引用基类的派生类?
- 存储模板类型以强制转换回派生<T>
- 需要从 istream 和 ostream 派生 iostream
- 用callgrind追踪不必要的副本
- 在派生类之间复制共享变量(浅副本就足够了)
- 在派生类CTOR中接收基类副本是错误的吗?
- C++两个派生类的副本
- 如何避免C++派生类中基类成员的重复副本
- 从重写方法返回派生类,声明为返回基副本
- 如何在基类的向量中返回派生对象的副本