创建一个不可复制的类并继承到我的类中
Creating a Noncopyable class and inherit into my class
我正在尝试创建一个不可复制的类并将其继承到myclass。以下是代码的外观:
template<class T>
struct NonCopyable
{
protected:
NonCopyable() {}
private:
NonCopyable(const NonCopyable& x) = delete;
T& operator=(const T& x) = delete;
};
删除允许第三种机制通过重复使用删除关键字来将功能定义为"已删除"
class Myclass : public RefCnt, private NonCopyable<Myclass>
{
virtual unsigned int GetID() = 0;
virtual bool Serialize() = 0;
};
现在,当我尝试这样做时,我在VS 2010上得到一个错误:"NonCopyable":纯说明符或抽象重写说明符只允许在虚拟函数上使用。
编译器认为我试图创建一个纯的非虚拟函数。有人能解释一下原因吗?我可以通过删除"删除"关键字来解决上述问题。
您可以从这篇文章中看到,vs2010不支持默认或删除的函数。就这一点而言,vc11 也不会
相关文章:
- 为什么我的子类不继承父类的字符串?
- 所以我正在为我的学校作业练习继承,但我无法正确实施标题保护
- 我是否需要在虚拟继承类的构造函数中初始化基类以解决菱形继承问题?
- 使用具有C++继承的 CMake 时,我应该如何组织我的目录结构?
- 为什么我的 Hippomock 期望在使用多重继承时失败
- 我可以自动处理继承 QObject 的仅标头对象吗?
- 如何从 istream、ostream 正确继承我的类?
- 在我的情况下,多重继承是一种好的设计模式吗?
- 我的二传手在新类中不起作用(继承)
- 我想继承 SPIFFS 类来扩展它以用于我的方法.可能吗
- C++多重继承 - 相同的方法名称 - 我可以以某种方式删除其中一个吗?
- 我得到了一个使用 SDL 的 OOP 项目。我没有使用继承。我可以给我的评估员什么理由
- 为什么我继承的构造函数调用我的基本默认构造函数
- 在C 中继承类功能:一般问题,以更好地理解,如果有人可以指出我的错误
- C 多重继承 - 编译器修改我的指针
- 在我的示例中,实际上有一些C 继承问题
- C中的伪继承:对齐会打断我的脖子吗
- 复制、移动、交换、赋值和析构函数的C++继承?我需要哪个
- 我是否应该期望单个继承中的向上转换和向下转换不会调整指针?
- 如何从我的自定义类继承