c++ - 在没有默认构造函数的情况下初始化类

标签 c++ oop constructor initialization compiler-errors

如果我有一个类 A,只有一个复制构造函数和一个带有参数 intint 的构造函数,我将那个类放在里面类 B:

class B
{
public:
    B();
private
    A a;
}

如何在 B 的构造函数中初始化 a

我试过 a(0, 0), a = A(0, 0),但不出所料,我收到了一个

error: no matching function for call to ‘A::A()’

最佳答案

在 B 的构造函数中,你会做这样的事情:

B::B() : a(0, 0)
{
    // ctor here
}

关于c++ - 在没有默认构造函数的情况下初始化类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3704722/

相关文章:

c++ - 前向声明后类型类的使用无效

java - 是否可以在另一个类中重写一个类的方法?

java - 访问者模式还是多态?

c++ - 在 main 之前未调用 WinMain(C/C++ 程序入口点问题)

使用 vector 推回和迭代器时出现 C++ 运行时错误

delphi - 在delphi中创建时从数据库填充单选组框

java - 如何在方法java之外使用它的构造函数实例化对象

java - Java中如何保存对象?构造函数中的反序列化

c++ - Windows 10 是否会防止您访问其他程序正在使用的内存?

c++ - 在容器中查找多个相邻值