显式初始化没有默认构造函数的成员

托马斯·费尔南德斯(Tomaz Fernandes)

我正在尝试实例化一个没有默认构造函数的对象,以便可以从类内的任何方法中引用它。我在头文件中声明了它,但是编译器说创建它的类的构造函数必须显式初始化该成员,而我不知道该怎么做。

真的很感谢您的回答,在此先谢谢您!

片段:

MyClass.h

include "MyOtherClass.h"

class myClass {

    private:
        MyOtherClass myObject;

    public:
        MyClass();
        ~MyClass();
        void myMethod();

}

MyClass.cpp

include "MyClass.h"

MyClass::MyClass() {

   MyOtherClass myObject (60);
   myObject.doSomething();

}

MyClass::myMethod() {

    myObject.doSomething();

}

MyOtherClass.h

class MyOtherClass {

   private:
      int aNumber;

   public:
      MyOtherClass (int someNumber);
      ~MyOtherClass();
      void doSomething();
}

MyOtherClass.cpp

include "MyOtherClass.h"

MyOtherClass::MyOtherClass (int someNumber) {
   aNumber = someNumber;
}

void MyOtherClass::doSomething () {
    std::cout << aNumber;
}
罗素·格林

你快到了。在C ++中创建对象时,默认情况下,它将在其所有对象上运行默认构造函数。您可以通过以下方式告诉语言要使用的构造函数:

MyClass::MyClass() : myObject(60){

    myObject.doSomething();

}

这样,它就不会尝试查找默认的构造函数并调用所需的构造函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有成员初始化列表的显式副本构造函数中的空值

来自分类Dev

没有默认构造函数的成员对象的 C++ 初始化:

来自分类Dev

空类是否可在没有初始化程序或显式默认构造函数的情况下用作constexpr变量?

来自分类Dev

没有默认构造函数和已删除副本构造函数初始化的对象的类成员数组

来自分类Dev

类组合构造函数d必须显式初始化引用成员

来自分类Dev

错误:构造函数必须显式初始化引用成员

来自分类Dev

为什么显式声明的构造函数阻止使用C ++ 11初始化列表进行成员初始化?

来自分类Dev

向量构造函数对:初始化列表与显式构造

来自分类Dev

为什么可以在构造函数中使用成员初始化来满足显式构造函数的参数呢?

来自分类Dev

显式构造函数和嵌套的初始化列表

来自分类Dev

调用非默认构造函数作为成员初始化

来自分类Dev

试图理解默认构造函数和成员初始化

来自分类Dev

是否可以编写有助于复制初始化的显式构造函数?

来自分类Dev

默认构造函数是否总是初始化所有成员?

来自分类Dev

如何在定义附近使用显式的长度/值构造函数初始化向量成员变量?

来自分类Dev

为什么在具有主构造函数的记录中需要显式的“ this”构造函数初始化器?

来自分类Dev

综合默认构造函数如何初始化已初始化的类成员?

来自分类Dev

没有主体或成员初始化的类构造函数?

来自分类Dev

没有默认构造函数时,使用垃圾数据初始化对象

来自分类Dev

编译器错误,因为构造函数必须显式初始化成员

来自分类Dev

每个构造函数成员初始化器列表初始化const数据成员,错误:没有匹配的调用函数

来自分类Dev

C ++:具有初始化列表的默认构造函数

来自分类Dev

错误C2512:没有合适的默认构造函数-为什么在构造函数中初始化属性?

来自分类Java

为什么要在所有构造函数中显式初始化空白的最终变量?

来自分类Dev

如何在不显式调用显式构造函数的情况下初始化映射?

来自分类Dev

类POD成员是默认初始化还是零初始化还是没有初始化?

来自分类Dev

C ++没有匹配的构造函数的[]初始化

来自分类Javascript

初始化状态,没有构造函数在反应

来自分类Dev

没有构造函数的C ++零初始化

Related 相关文章

  1. 1

    具有成员初始化列表的显式副本构造函数中的空值

  2. 2

    没有默认构造函数的成员对象的 C++ 初始化:

  3. 3

    空类是否可在没有初始化程序或显式默认构造函数的情况下用作constexpr变量?

  4. 4

    没有默认构造函数和已删除副本构造函数初始化的对象的类成员数组

  5. 5

    类组合构造函数d必须显式初始化引用成员

  6. 6

    错误:构造函数必须显式初始化引用成员

  7. 7

    为什么显式声明的构造函数阻止使用C ++ 11初始化列表进行成员初始化?

  8. 8

    向量构造函数对:初始化列表与显式构造

  9. 9

    为什么可以在构造函数中使用成员初始化来满足显式构造函数的参数呢?

  10. 10

    显式构造函数和嵌套的初始化列表

  11. 11

    调用非默认构造函数作为成员初始化

  12. 12

    试图理解默认构造函数和成员初始化

  13. 13

    是否可以编写有助于复制初始化的显式构造函数?

  14. 14

    默认构造函数是否总是初始化所有成员?

  15. 15

    如何在定义附近使用显式的长度/值构造函数初始化向量成员变量?

  16. 16

    为什么在具有主构造函数的记录中需要显式的“ this”构造函数初始化器?

  17. 17

    综合默认构造函数如何初始化已初始化的类成员?

  18. 18

    没有主体或成员初始化的类构造函数?

  19. 19

    没有默认构造函数时,使用垃圾数据初始化对象

  20. 20

    编译器错误,因为构造函数必须显式初始化成员

  21. 21

    每个构造函数成员初始化器列表初始化const数据成员,错误:没有匹配的调用函数

  22. 22

    C ++:具有初始化列表的默认构造函数

  23. 23

    错误C2512:没有合适的默认构造函数-为什么在构造函数中初始化属性?

  24. 24

    为什么要在所有构造函数中显式初始化空白的最终变量?

  25. 25

    如何在不显式调用显式构造函数的情况下初始化映射?

  26. 26

    类POD成员是默认初始化还是零初始化还是没有初始化?

  27. 27

    C ++没有匹配的构造函数的[]初始化

  28. 28

    初始化状态,没有构造函数在反应

  29. 29

    没有构造函数的C ++零初始化

热门标签

归档