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

c++ using primitive types as a base class

本文关键字:基类 c++ 类型      更新时间:2023-10-16

我正在尝试在c++中继承,并试图制作一个简单的类:

    class Class
    :public int
    {
    };

但是在尝试编译时,我得到(visual studio 2013)错误C3770"'int'不是一个有效的基类。其他基本类型(如bool、char和long)也会出现此错误。

然而,使用用户定义的类包装类工作得很好:

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

我的问题是,直接使用原始类型作为基类是非法的c++还是visual studio很难,或者我只是简单地做继承错误;我似乎到处都找不到答案。

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