class相关内容

C ++ default未调用构造函数

我对c ++非常新,所以原谅我,如果我忽略了一些简单的东西。我有一个类Circle: class Circle:public Shape { protected: // string name ; 点对焦; float radius; private: public: virtual void calculateArea(); virtual void calcu ..
发布时间:2016-10-13 11:52:53 C/C++开发

当程序员使用空基本优化(EBO)

我正在阅读关于空基本优化(EBO)。阅读时,我脑海里浮现出以下问题: 使用Empty类作为基类的意义是什么? 在本文,我阅读: // S是空的 class struct T:S { int x; }; 请注意,我们没有丢失任何数据或 代码准确性:当您创建一个 类型为S的独立对象时, 对象的大小仍然是1(或更多)为 before;只有当S ..

是“内联”隐式在类定义中定义的C ++成员函数

根据C ++规范,以下两个类是否等同定义? class A { void f() { } }; class B { inline void f() { } }; 即,将“inline”限定符放在类定义中定义的成员函数中是否完全冗余? 关注问题:假设它是多余的,对于代码风格,保持“内联”标记是明智的,所以未来的开发人员意识到该函数应该 ..
发布时间:2016-10-13 11:35:28 C/C++开发

使用工厂模式按名称实例化类

假设我有一个类 A,B,C,... 的列表,它们都继承自 Base 。 我从用户那里得到一个字符串的类名,我想实例化正确的类并返回一个指针 Base 。 我想到使用以类名作为键的散列表,以及指向实例化正确类的函数的函数指针返回一个 Base * 。 但是,我想我可以在这里使用工厂模式 解决方案 这是一个非常简单的方法,以下是一个通用的工厂示例实施: templat ..
发布时间:2016-10-13 11:26:52 C/C++开发

在类的函数中使用'const'

我已经看到了很多const关键字在函数中的使用,所以我想知道它是什么。我在这里读了smth: http://duramecho.com/ComputerInformation/WhyHowCppConst.html 。 它表示使用const,因为函数“可以尝试更改对象中的任何成员变量”。如果这是真的,那么它应该在任何地方使用,因为我不希望任何成员变量以任何方式改变或改变。 class ..
发布时间:2016-10-13 11:14:25 C/C++开发

“枚举类”仿真或固体替代MSVC 10.0

我正在寻找一个hacky类型的解决方案以下问题: GCC 4.4+接受以下c ++ 0x代码: 枚举类my_enum { value1, value2 }; 这样允许使用: my_enum e = my_enum :: value1; 所有的铃声和​​口哨。我想让这个代码与MSVC 2010兼容,这样的效果是使用的语法不会改变。我在之 ..
发布时间:2016-10-13 11:11:06 C/C++开发

为什么一些运算符只能作为成员函数重载,其他作为朋友函数,其余的作为两个?

为什么有些运算符只能作为成员函数重载,其他非成员“自由”函数和其余的作为两个? 如何记住哪些操作符可以重载为什么(成员,自由或两者)? 解决方案 问题列出了三类运算符。我认为,把它们放在列表上有助于理解为什么有些操作符限制在可以重载的地方: 必须作为成员过载的操作员。这些是相当少的: 作业 operator =()。允许非成员分配似乎为操作者劫持分配打开了大门,例如通过重 ..
发布时间:2016-10-13 11:08:17 C/C++开发

在分类后声明括号

对于什么可能是一个愚蠢的问题提前道歉,但在C ++类中,为什么闭尾括号后的分号?我经常忘记它,并得到编译器错误,从而失去时间。似乎对我有点多余,这是不可能的情况。人们是否真的做了 class MyClass { 。 。 。 } MyInstance; 编辑:从C兼容性的角度来看,和枚举,但由于类不是C语言的一部分,我想它的主要是在类似的声明构造之间保持一致性。 ..
发布时间:2016-10-13 11:07:55 C/C++开发

如何在C ++中定义密封类?

如何停止其他类继承的类。 解决方案 C ++ 11解决方案 在C ++ 11中,可以通过在定义中使用 final 关键字来封装类: class A final //注释在类名后面使用final关键字 { // ... } ; class B:public A //错误 - 因为类A被标记为final(sealed)。 {//所以A不能派生自。 // ... } ..
发布时间:2016-10-13 10:57:45 C/C++开发

继承和重载默认构造函数

我一直在寻找这个,我很惊讶,我没有找到任何东西。为什么不能使用使用声明继承基类构造函数并在派生类中添加重载?我使用Visual C ++ 2013,当默认构造 b 时,基类构造函数被忽略: 错误C2512:'B':没有适当的默认构造函数 struct A { A():a(10){} int a; }; struct B:A { 使用A : ..
发布时间:2016-10-13 10:39:46 C/C++开发

在C ++我不能抓住指针和类

我刚从大学毕业,现在已经在C ++中工作了一段时间。我理解C ++的所有基础知识并使用它们,但我很难掌握更高级的主题,如指针和类。我读过一些书和教程,我理解他们的例子,但是当我看一些高级的现实生活中的例子,我不能想出来。这是杀了我,因为我觉得它让我从我的C ++编程提高到一个新的水平。有没有人有这个问题?如果是,你是如何突破呢? 有人知道任何书或教程,真正描述指针和类的概念吗? 或者也许一些示 ..
发布时间:2016-10-13 10:21:14 C/C++开发

C ++ - struct对类

可能的重复项: C / C ++ Struct与类 什么是C ++中的POD类型? $ b 在 C ++在实验室书中,第6章:类中,在访问说明符 在类定义中,成员和基类的默认 访问是 private。在结构体定义中, 的缺省值是public。 这是类和 结构之间唯一的 区别,尽管按照惯例,一些 程序员只为 POD 类使用struct 。 : 类和 ..
发布时间:2016-10-13 10:15:46 C/C++开发