c++ - 如何在 Visual Studio 中使用默认的 C++ 字符串构造函数?

标签 c++ visual-studio visual-studio-2013

所以基本上,我只是在摆弄类和函数等,我想知道的一件事是:

假设我有这个类,它派生自 std::string

class MyString : public std::string {
};

因为我想创建类型为 MyString 的变量,其初始化方式与 std::string 相同,所以我尝试使用:

using std::string::string;

但是,这在 Visual Studio 中似乎不起作用 - 对于 VS,string() 不是成员函数。

这在 Code::Blocks/G++ 中有效,为什么不在 Visual Studio/VC++ 中?

最佳答案

根据 MSDN ,不支持继承构造函数,至少在 VS2013 或更早版本中是这样。

但是你无论如何都不应该从 std::string 继承。这样做不会有任何好处。如果您想扩展现有类的功能,请编写非成员函数。

关于c++ - 如何在 Visual Studio 中使用默认的 C++ 字符串构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30483551/

相关文章:

使用字符串作为打开文件路径的 C++ ifstream 错误。

c - 在 Visual Studio 和 Eclipse 中包含 Kiss FFT 库

visual-studio - 在 VS2015 上使用 sdk 7.1 构建

c++ - Visual Studio 2013 无法打开 'glfw3.lib'

C++简单类声明程序

c++ - 将 SDL2 与 Xcode 一起使用时出现 AddInstanceForFactory 和 HALC_ShellDriverPlugIn 错误?

c++ - 在 3D 世界的显示器上的固定位置绘制 2D 文本 - OpenGL

javascript - 如何在 Visual Studio 中从数据库(使用 C#)获取数据时使 HTML 行可点击

c# - Visual Studio 2013 中的快捷方式 "Open in Blend"在哪里?

c++ - VS2013编译错误: non-static data member initialization by pointer to member