constructor相关内容

C ++ 11委托构造函数纯虚拟方法&函数调用 - 危险?

不是重复的调用虚拟函数和纯虚函数: 前问题涉及C ++ 03,而不是C ++中的新构造函数委托 在C ++ 11中,我们可以通过使用代理来确保在执行纯虚拟实现之前的正确构造。在构造函数中调用Pure Virtual函数的危险是什么,在构造函数中,但是在通过构造函数委托完成了“完全构造”之后? ,成员函数(包括虚函数成员函数,10.3)可以是 ()函数,其中的成员函数可以是: ..
发布时间:2016-10-17 09:59:18 C/C++开发

为什么不复制构造函数“链接”像默认构造函数或析构函数?

这可能是一个有明显答案或重复的问题。 为什么没有链接复制构造函数(如默认的ctors或dtors),所以在派生类的复制构造函数被调用之前,基类的复制构造函数被调用?使用复制构造函数和析构函数,它们分别在从基础到派生和派生到基础的链中被调用。为什么不是这种情况下复制构造函数?例如,此代码: class Base { public: Base():basedata ()){} ..
发布时间:2016-10-17 09:42:20 C/C++开发

什么是最好的技术退出构造函数在C ++中的错误条件

在C ++中的错误条件下,从构造函数退出的最好的技术是什么?特别是,这是一个打开文件的错误。 感谢您的回复。我抛出一个异常。这里是代码(不知道是否是最好的方法,但它很简单) //测试以查看文件是否已打开;否则 if(!file.is_open()){ cerr ..
发布时间:2016-10-17 09:12:08 C/C++开发

我可以为字段和构造函数参数使用相同的名称吗?

class C { T a; public: C(T a):a(a){;} }; 是否合法? 方案 是的,它是合法的,适用于所有平台。 它将正确地初始化您的成员变量a,传递的值a。 它被一些更干净的认为是不同的,但不是全部。我个人实际上使用它很多:) 具有相同变量名称的初始化列表起作用,因为初始化列表中初始化项的语法如下: ..
发布时间:2016-10-17 09:06:08 C/C++开发

如何创建一些类从dll(构造函数在dll)?(с++)

如何从dll(dll中的构造函数)创建一些类?(с++) 或如何从dll动态加载类 解决方案 严格回答你的问题,你需要添加一个extern“C”函数返回构造函数的结果: extern“C”foo * __declspec(dllexport)new_foo(int x){ return new foo(x); } 然后在你的源代码中你可以使用GetProcA ..
发布时间:2016-10-17 09:02:30 C/C++开发

使用C ++基类构造函数?

使用模板时,我遇到了一个需要使一个基类构造函数可以从继承类创建对象,以减少复制/粘贴操作。 我想通过使用关键字以相同的方式通过函数case来执行此操作,但不起作用。 class A { public: A(int val){} }; B类:public A { }; class C:public A { public: C(const string& ..
发布时间:2016-10-16 14:26:17 C/C++开发

C ++抽象类:构造函数是或否?

具有一个(或多个)虚拟纯函数的类是抽象的,不能用于创建一个新对象,因此它没有构造函数。 现在,我正在读一本有以下例子的书: class Employee { public: Employee(const char *,const char *); 〜Employee(); const char * getFirstName()const; const char * ge ..
发布时间:2016-10-14 23:05:21 C/C++开发

为什么Java没有初始化列表像C ++?

在C ++中,可以使用初始化器列表在构造函数开始运行之前初始化类的字段。例如: Foo :: Foo(string s,double d,int n):name,s ),age(n){ // Empty;已处理! } 我很好奇为什么Java没有类似的功能。根据核心Java:第1卷: C ++使用此特殊语法调用字段构造函数。在Java中,没有必要,因为对 ..
发布时间:2016-10-14 22:56:19 Java开发

构造函数基本(参考距离是不明确的)

我在练习构造函数。下面是我练习的代码,但有一个错误, “引用距离是不明确的”我无法识别我的错误,请帮助我。我一直在努力。 #include #include using namespace std; // distance 类距离 { public: distance(int met,int cen); dista ..
发布时间:2016-10-14 22:11:05 C/C++开发

在使用const成员构造对象时调用另一个构造函数

我有一个类与 const 成员,一个构造函数调用另一个构造函数与额外的值填充。通常我可以使用冒号初始化为此,但函数是复杂的( printf / sprintf -like),并要求我在堆栈上使用一个变量,在构造函数的主体中这样做,并使用assign * this 到新对象。但是当然这是无效的,因为我的成员变量是 const 。 class A { public: A(int b): ..
发布时间:2016-10-14 22:05:20 C/C++开发

“没有适当的默认构造函数可用” - 为什么默认构造函数甚至被调用?

我已经看过关于这个的一些其他问题,但我不明白为什么一个默认的构造函数甚至应该在我的情况下调用。我可以提供一个默认的构造函数,但我想知道为什么它这样做和它影响。 错误C2512: 'CubeGeometry':没有适当的默认构造函数 我有一个名为ProxyPiece的类有CubeGeometry的成员变量。构造函数应该接受一个CubeGeometry并将其分配给成员变量。这是标题: ..
发布时间:2016-10-14 21:56:55 C/C++开发

可以有一个模板化的构造函数,如'template< class T> X(){}'?

struct X { template X(){} }; 是否可以实例化这样的类型? 解决方案 是的,有可能有这样的构造函数,但是不可能调用它。模板化构造函数的所有模板参数必须从参数列表中推导出或具有默认值。在您的示例中,您无法实例化该类。 [temp.mem] [注意:因为显式模板参数列表跟在函数模板名称 ..
发布时间:2016-10-14 21:41:35 C/C++开发