class相关内容

未解析的外部符号C ++

我遇到以下程式码的问题: ProgrammSettings.h #pragma once static class ProgrammSettings { public: static int fd; }; Settings.cpp #include“ProgrammSettings.h” static bool LoadSett ..
发布时间:2016-10-14 22:01:06 C/C++开发

在命名空间中定义类的方式

我在标题中的命名空间中定义了一个类,如下所示: #ifndef _c1_ #define _c1_ 命名空间classspace { class Aclass; } class Aclass { // body }; #endif _c1_ 我将此标题添加到main.cpp中,在main()中的一个对象,但它的返回错误 undef ..
发布时间:2016-10-14 21:56:50 C/C++开发

在抽象类构造函数中,为什么我需要调用一个永远不会调用的虚拟基址的构造函数?

我面对着名的“可怕的”钻石情况: A / \ B1 B2 \ / C | D 类 A 具有,说构造函数 A :: A(int i)。我还要禁止默认实例化 A ,因此我声明 A 的默认构造函数为 private 。 类 B1 和 B2 实际上派生自 A ,并有一些构造函数和一个 protected 默认构造函数。 p> B ..
发布时间:2016-10-14 21:33:56 C/C++开发

函数与const参数重载(跟进)

这是上一个问题的后续跟进 它真的很复杂,所以我开始一个新的线程,使我的观点更清楚。(Didnt想删除以前的线程,因为其他家伙谁给了有价值的反馈,不要松动的声誉点他们获得了) 更新代码:(符合与工程) #include using std :: cout; class Test { public: Test(){} int foo(con ..
发布时间:2016-10-14 21:30:18 C/C++开发

C ++:我如何知道Base类SubObject的大小?

。 这里我在讨论空基本优化, MSalters 发表了这个有趣的评论: p> 没有类可以有 sizeof(Class)== 0,空或不。 但是 我们正在讨论一个空的基类子对象的 大小。 它不需要自己的vtable,也不需要 vtable指针。假设在偏移 0处的vtable指针的公共 布局;这将导致零大小的 基类子对象与派生类共享其 vtable指针。 没问题:这些应 ..

memcpy或memmove会导致复制类吗?

假设我有任何类或结构。没有虚函数或任何东西,只是一些自定义构造函数,以及一些指针,需要在析构函数中清除。 使用memcpy会有任何不利影响, memmove这个结构?删除移动的结构会导致问题吗? 解决方案 在一般情况下,是的,会有问题。 memcpy 和 memmove 都是按位操作,没有进一步的语义。这可能不足以移动对象 * ,并且显然不足以复制。 在复制的情况下,会破坏,因 ..
发布时间:2016-10-14 21:27:26 C/C++开发

不同类的对象在一个单一的矢量?

在我的代码中,我有一组对象: class Sphere {... class Plane {... ... 我需要使用它们的集合它们将具有不同类型)在向量中。如何将不同类的对象添加到向量? 解决方案 球体和平面需要一个共同的基本类型,或者你的向量需要由 void * 的组成。 通用基本类型(更好): class Shape {... ..
发布时间:2016-10-14 21:20:09 C/C++开发

什么是“这个”指针?

我对C ++相当陌生,我不明白在下面的情况下这个指针是什么: void do_something_to_a_foo(Foo * foo_instance); void Foo :: DoSomething() { do_something_to_a_foo(this); } 我从这里的其他人的讯息中抓到了。 指向什么?我很困惑。该函数没有输 ..
发布时间:2016-10-14 21:19:25 C/C++开发

最烦躁的解析混乱

我正在学习C ++ 11,我偶然发现了统一的初始化器。 我不明白下面的代码应该显示“最烦琐的解析”歧义: #include class Timer { public: Timer(){} }; int main() { auto dv = Timer(); //什么是Timer()?什么类型是dv? int time_ ..
发布时间:2016-10-14 21:08:29 C/C++开发

唯一的类类型ID,它是安全的并且跨库的边界

我会感谢任何帮助,因为C ++不是我的主要语言。 我有一个模板类,在多个库中派生。我试图找出一种方法来唯一地分配一个id int到每个派生类。我需要能够通过静态方法,即 template class Foo { public: static int s_id() { // DERIVED的返回ID是唯一的 } // ... } ..
发布时间:2016-10-14 21:00:41 C/C++开发

如何前来申报不需要朋友类的概念?

我最近刚刚学习了C ++中的 friend class 概念(我已经google了一下,但这回答让我笑了,直到我记得最重要的部分),我正试图将它并入我正在工作的项目。简单的问题最后被挑出来,但一般来说,我对工作代码中的完全缺乏前进声明感到困惑。 我的所有类通过(子)文件夹分隔,并且每个类都分成一个单独的.h 和 .cpp 文件,但这应该足以让你感觉到依赖性: // FE.h - 无 ..
发布时间:2016-10-14 20:57:16 C/C++开发

在成员函数中返回* this

我最近使用了一个允许使用以下类型语法的库: MyClass myObject; myObject .setMember1(“string value”) .setMember2(4.0f) .setMember3(-1); 显然,这是通过让setter返回MyClass&类型;例如return * this。我喜欢这种代码的外观,但我看不到很多。当这种情况发生 ..
发布时间:2016-10-14 20:49:16 C/C++开发

C ++类或结构兼容性与C结构

可以编写与C struct完全兼容的C ++类或结构。从兼容性我的意思是对象的大小和变量的内存位置。我知道它的邪恶使用 *(point *)& pnt 或甚至(float *)& pnt (在不同的情况下,变量是浮动),但认为它的真正需要的性能的缘故。 以这个例子 Class Point { long x,y; Point(long x,long y){ this-> x = ..
发布时间:2016-10-14 20:32:17 C/C++开发

在C ++中的一些其他指令之后调用基类的构造函数

据我所知,不可能调用基类的构造函数。我知道的唯一方法是: MyClass :: MyClass(/ * args * /):Base(/ * args * /) { // ... } 但这将在开始时调用构造函数。 有没有办法在构造函数中的其他地方调用它?类似这样的: MyClass :: MyClass(/ * args * /) { // ...说 ..
发布时间:2016-10-14 20:16:25 C/C++开发

在不同的C ++文件中有相同的类名

如果两个C ++文件具有相同名称的类的不同定义,那么当它们被编译和链接时,即使没有警告也会抛出异常。例如, // a.cc class Student { public: std :: string foo(){return“A”; } }; void foo_a() { 学生stu; std :: cout ..
发布时间:2016-10-14 20:09:11 C/C++开发

使用对象方法作为WinApi WndProc回调

我试图做一个小类,在父窗口中显示控制台窗口。 (你可以想象聊天或调试信息显示在那里) 现在,由于不同的instanes有不同的私有变量(如消息数组或父窗口),我需要使用非静态方法作为回调 我想到了一些方法,其中我将实际的类实例传递给静态回调函数,然后调用适当的方法,但在winAPI中,一切都是使用 TranslateMessage 和 DispatchMessage 给我没有机会使用我 ..
发布时间:2016-10-14 20:01:14 C/C++开发

C ++类的成员函数回调

我有以下问题。我有一个外部库(不能修改)的函数,如下所示: void externalFunction(int n,void udf double *)); 我想作为udf函数传递给现有类的函数成员。请查看以下代码: //外部函数(通常来自外部库) void externalFunction n,void udf(double *)) { // do so ..
发布时间:2016-10-14 13:02:11 C/C++开发

什么是CUDA设备代码支持的真正的C ++语言结构?

CUDA文档的3.2版本的附录D指的是CUDA设备代码中的C ++支持。 清楚地提到CUDA支持“用于计算能力2.x的设备的类”。但是,我正在使用计算能力1.1和1.3的设备,我可以使用此功能! 例如,此代码的工作原理: //类定义自愿简化 类Foo { private: int x_; public: __device__ Foo(){x_ = 42; } ..
发布时间:2016-10-14 12:55:32 C/C++开发