我有一堆与此相关的问题,我找不到确切的答案。A类是主类,B类是子类
如果定义了 A::operator=(const A & other) ,则 B::operator= 的默认实现是否复制 B 的成员然后调用 A::operator= ?
如果定义了 A 复制构造函数,B 的复制构造函数的默认实现是否复制构造 B 的成员,然后调用 A 复制构造函数?
我是否需要在 A 中定义上述虚拟函数才能获得此行为?(我想对于 operator= 是肯定的,对于复制构造函数来说不是,因为虚拟构造函数是胡说八道?)
我可以禁止重载 A 的子类的赋值运算符或复制构造函数,以强制使用默认实现吗?
这背后的想法是为我的用户提供插件 API。我需要 API 是 C++,因为脚本太慢了(我有一天会尝试 JIT 编译),但它应该非常简单。