constructor相关内容
也许标题有点混乱,所以我会尽我所能确保它尽可能清楚。 基本上,我想创建 现在我的问题是: 如果我有一个基类具有受保护的变量int strength和int armor,我如何使用int strength和int armor构造一个派生类,以便他们获得自己的值,而不需要实际定义强度和盔甲该类中的变量? 让我编写我试图实现的代码。 class Creature {
..
假设我有一个我自己创建的链接列表。它有自己的析构函数,释放内存。此链接列表不会重载新的或删除。 现在,我试图创建一个所述链表的数组(打开散列,如果我理解正确)。然后我在这个打开哈希类的构造函数中分配必要的内存。在构造函数内部调用的新操作符足以正确分配数组的内存,对吗?我不确定,因为我没有重载的新的Linked List类。 此外,假设我的链表的数组被称为元素,我可以写“删除[]元素“在
..
我想在try / catch语句中声明一个对象,如下所示: try { Object object (值); } catch(exception){ return 1; } object.usingExemple(); G ++告诉我对象未在范围内定义。 我明白,如果尝试收到一个异常对象没有创建,不能使用。 但是不应该g ++知道我离开函数如果发
..
如果一个C ++(隐式或显式)值构造函数需要通过value或reference-to-const接受它的参数,当它需要以它的方式在它的对象中存储一个参数的副本吗? 这是我能想到的最短的例子: struct foo { bar _b; foo(bar [const&] b)//通过值或引用到const? :_b(b){} }; 这里的想法是,当foo对象被创
..
是否有一种方法来构建向量作为2 向量的连接(除了创建帮助函数?) 例如: const向量 second = {42}; const vector concatenation = first + second; 我知道向量 't 有一个添加运算符 string ,但这是我
..
我有以下类: class Tileset {//基类 public: static std :: vector列表; virtual〜Tileset()= 0; protected: std :: vector tiles_list; sf ::纹理图; private:// non copiable Tiles
..
我刚刚通过Cprogramming.com上的随机页面,注意到构造函数和析构函数教程/示例页面。他们使用以下方法定义构造函数: class String { private: char * str; int size; public: String():str(NULL),size(0){} // String(int size):str ){//
..
有人可以向我解释复杂a 和复杂b(); 之间的区别吗? #include class Complex { public: Complex() { std :: cout
..
struct A {}; struct B { B(A * pA){} B& operator =(A * pA){return * this; } }; template struct Wrap { T * x; operator T *(){return x; } }; int main() { Wrap一
..
前一天我在面试中遇到这个问题。 解决方法如何清除已初始化的资源(如果从c ++的构造函数中抛出异常)? 诀窍是使用 RAII (资源获取是初始化)来管理资源。 成员然后使用智能指针而不是原始指针,一旦从构造函数抛出异常,它将自动执行清除作业。 良好读取: br> Herb Sutter的优秀GotW文章“建筑失灵”
..
可以使用初始化程序列表创建结构/类(不包含构造函数)的对象。为什么不允许在具有构造函数的struct /类上? struct r {int a; }; struct s {int a; s():a(0){}}; r = {1}; // works s = {1}; //不工作 解决方案 构造函数不再被认为是POD(plain old data)。对象必须只包含其他
..
#include using namespace std; class A { public: static int cnt; A() { ++ cnt; cout
..
我想清除派生结构的所有成员。 有几百个成员和更多的被添加每次一次,所以我觉得初始化它们显式地是容易出错的。 结构没有虚函数,所有的成员字段都是内置的。 除了标准的皱眉外,你看到以下的问题吗? p> struct Base { // Stuff }; struct Derived:public Base { //不同内置类型的数百个字段 //包括数组
..
您好: 在此问题中: http://stackoverflow.com/questions/2779155/template-point2-double-point3-double Dennis和Michael注意到不合理的愚蠢实现的构造函数。 是对的,我没有在这一刻考虑这一点。 但是我发现一个构造函数不像这样的模板类有很多帮助,而是一个函数在这里更方便和安全。 命
..
为什么我的构造函数初始化器不能使用复制初始化? struct S {int a; S(int b):a(b){}}; //直接初始化编译 struct T {int a; T(int b):a = b {}}; //复制初始化不会 我很困惑,因为 a(b)和 a = b 都是表达式(postfix和assignent表达式),我的C ++书[1]说“任何任意复杂的表达式。“
..
我遇到此代码的问题: #include
..
我有一些代码,我真的想从一个构造函数调用一个虚方法。我知道这被认为是不安全的,我知道足够的对象构造也理解为什么。我也没有遇到这些问题。目前我的代码正在工作,我认为应该很好,但我想确定。 这里是我在做什么: 我有一些类层次结构,有一个普通的公共函数,只是转发到私有虚拟方法,像往常一样。但是我想在构建我的对象时调用这个公共方法,因为它正在将所有数据填充到对象中。我将绝对确定这个虚拟调用来自
..
//使用g ++和ubuntu。 #include using namespace std; 定义一个类: class foo(){ (...) foo(int arg1,double arg2); } 构造函数: foo :: foo(int arg1,double arg2){ (...)//数组的长度取决
..
关于C ++ 11语法的简单问题。有一个示例代码(缩减了一个来自源) struct Wanderer { explicit Wanderer(std :: vector& update_loop) { update_loop.emplace_back([this](float dt){update(dt);}); } vo
..
MFC的根对象CObject的副本构造函数和赋值在默认情况下是禁用的。 在MSDN中有一个
..