c++ 使用基本类型作为基类

标签 c++ inheritance primitive-types

我当时正在尝试用 C++ 继承并尝试制作一个简单的类:

    class Class
    :public int
    {

    };

但是在尝试编译时我得到了(visual studio 2013)错误 C3770“'int' 不是一个有效的基类。这个错误也会发生在其他基本类型上,比如 bools chars 和 longs。

但是使用用户定义的类包装类工作正常:

template<typename T>
class Wrapper
{
    T Object;
        public:
            operator T&(){return Object;}
};

class Class
:public Wrapper<int>
{

};

我的问题是,直接使用原始类型作为基类是非法的 C++ 还是 Visual Studio 很难,或者我只是简单地做错了继承;我似乎无法在任何地方找到答案。

最佳答案

在 C++ 中,基本类型不是类。继承处理类。当然,您不能继承原始类型。

关于c++ 使用基本类型作为基类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24213743/

相关文章:

c++ - 虚拟继承使用

Java 变量阴影方法覆盖概念

arrays - Swift 中 u_int8_t 的 Objective-C 数组

C++ 选择第一个非空元素

c++ - 在 IDE 中检测硬盘驱动器

c++ - 如何从这些信息中追踪错误代码

java - java中的原始数据类型是如何定义/编写的?

c++ - 返回由另一个本地对象定义的对象

Equals() 的 C++ 双重分派(dispatch)

java - 原始实例(包装器)