首页 > TAG信息列表 > default-constructor
不能强制将抽象类的基本构造函数用于派生类
我试图按照以下答案在派生类中强制使用特定的参数化构造函数: Abstract Class with Constructor 使用以上答案中提供的示例,代码编译将按预期失败.即使在修改代码以使其类似于我的代码之后,它仍然失败.我的实际代码虽然可以编译.我在这里茫然是为什么. 这是提供的答案的修改示例(无c-对象b()有什么区别?和对象b ;?
更明确地说,当我使用()创建对象时尝试访问实例变量时遇到编译时错误,但是当我不这样做时,代码将按预期进行编译和运行.同样,此问题仅适用于默认构造函数. 我想知道为什么. using namespace std; #include <iostream> class Student { public: int gpa; Student() {C默认构造函数
如果说默认构造函数是不带参数的构造函数,是否还可以说编译器创建的构造函数也是默认构造函数? 谢谢.解决方法:默认构造函数是可以不带参数调用的构造函数. C 98§12.1/ 5: A default constructor for a class X is a constructor of X that can be called without an argument. Ifc – 编写默认构造函数强制进行零初始化?
这些是我的类定义: class Foo{ int _ent; public: void printEnt() const{cout << _ent << ' ';} }; class Bar{ Foo _foo; public: void printEnt() const{_foo.printEnt();} }; 这是我的测试代码: char* buf = new char[sizeof(Foo) + sizeof(Foo默认构造函数c
我试图理解默认构造函数(由编译器提供,如果你不写一个)与你自己的默认构造函数的工作原理. 所以我举了这个简单的类: class A { private: int x; public: A() { std::cout << "Default constructor called for A\n"; } A(int x) {c – 继承类的默认构造函数
我已将问题减少到以下示例代码: class pokemon{ public: pokemon(int n); }; class MewTwo : public pokemon { public: MewTwo(int n); }; MewTwo::MewTwo(int n) {} 这会产生错误: no matching function for call to ‘pokemon::pokemon()’ 我c – 避免成员变量的默认构造函数
我有一个类与另一个类的成员变量: class MeasurementUnit { private: MeasurementMultiplier _multiplier; 实际上我不需要MeasurementMultiplier的默认构造函数,因为实际上我将使用参数MeasurementMultiplier(a,b,c)初始化,我会 – 但不能直接: C2864: 'MeasurementUnit::_muc – “没有合适的默认构造函数” – 为什么甚至调用默认构造函数?
我已经看了一些关于这个问题的其他问题,但我不明白为什么在我的情况下甚至应该调用默认构造函数.我可以提供一个默认的构造函数,但我想了解它为什么这样做以及它会影响什么. error C2512: 'CubeGeometry' : no appropriate default constructor available 我有一个名为ProxyPiec – 在类默认构造函数中初始化2×2矩阵
我正在尝试在C中创建一个2×2矩阵类,并希望通过默认构造函数将矩阵初始化为单位矩阵.我的班级是: class Matrix2x2 { public: Matrix2x2(); void setVal(int row, int col, double newVal); private: double n[2][2]; }; void Matrix2x2::setVal(int row, int col, dc – const成员和默认构造函数的错误
我有两个版本的C代码.一个给出问题而另一个没有: /* * This compiles fine */ class base { private: const char c; }; int main() { base b(); // compiles fine } / * *这会产生编译错误 * / class base { private: const char c;C默认构造函数语法
参见英文答案 > How is “=default” different from “{}” for default constructor and destructor? 3个 我对C中的默认构造函数有疑问.例如,在A类中,使用此默认构造函数A(){};或A()=默认; ?它们之间的c – 在没有默认构造函数的情况下序列化指向类的指针时,无法覆盖save_construct_data
我试图遵循这个例子http://www.boost.org/doc/libs/1_42_0/libs/serialization/doc/serialization.html#constructors,但我一直在收到错误.在示例之后,我在尝试访问私有变量时遇到错误(足够公平): bs.cpp:10: error: ‘const int my_class::m_attribute’ is private 但是,如果我c – 获取错误:在’default’之前预期的nonqualified-id
我正在尝试编写一个基本程序来显示默认构造函数的使用.这是我的代码; class Fraction { private: int m_numerator; int m_denominator; public: Fraction() // default constructor { m_numerator = 0; m_denominator = 1; } int gec – 在其他类构造函数中使用参数化构造函数
我担心这是一个非常基本的问题,然而,我还没能解决它. 我有一个A班 // classA.h ... class ClassA { public: ClassA(); ClassA(int foo); private: int _foo; ... } // classA.cpp ClassA::ClassA() { _foo = 0; } ClassA::ClassA(java – LinkedList数据结构,为什么我们需要从不同的构造函数中调用空的默认构造函数
在java.util.LinkedList类中,定义了2个构造函数,默认和参数化接受集合.当我查看实现时,我看到参数化构造函数有this(),基本上是调用默认构造函数. 但默认构造函数为空.所以我很好奇如果这是调用默认构造函数的最佳实践,即使它是空的,或者是否有任何推理.如果我们不调用默认构造函数c – 为stl容器使用没有默认构造函数的仿函数
我想将自己的比较器用于std :: set,它需要将一个参数传递给它的构造函数: template <class T = double> class EpsCompare { public: EpsCompare(T input_eps) : _eps(input_eps) {}; bool operator() (const T & element1, const T & element2) const { return (c – 明确默认的构造函数和成员变量的初始化
我对ctor明确违约时会发生什么感到困惑. 这两个代码示例是否相同? 是否有任何约束Y能够使用第一个选项? class X { public: X() = default; private: Y m_y; }; class X { public: X() : m_y() {} private: Y m_y; }; 解决方法:有两种可能的差异来源. > X()=默java – Spring @Autowired构造函数给出没有找到默认构造函数
这里有一些来自Spring 3.0的奇怪行为. package com.service.schedule; import org.springframework.stereotype.Component; @Component("outroJob") public class OutroJob { public void printMe() { System.out.println("running..."); } } 和为什么我们不能在Java中将this()和super()结合在一起?
参见英文答案 > Why can’t this() and super() both be used together in a constructor? 8个我有这个程序: public class A { public A(){ System.out.println("I am in A"); } public