Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C++中的另一个类中声明属性 我是C++新手,但我以前有PHP和C OOP编程经验。 我拥有的是:两个类别,其中一个类别拥有私有财产,另一个类别拥有私有财产。 资料来源:_C++_Oop - Fatal编程技术网

在C++中的另一个类中声明属性 我是C++新手,但我以前有PHP和C OOP编程经验。 我拥有的是:两个类别,其中一个类别拥有私有财产,另一个类别拥有私有财产。 资料来源:

在C++中的另一个类中声明属性 我是C++新手,但我以前有PHP和C OOP编程经验。 我拥有的是:两个类别,其中一个类别拥有私有财产,另一个类别拥有私有财产。 资料来源:,c++,oop,C++,Oop,我要做的是用Bar中的构造函数声明Foo的一个属性。不幸的是,我这样做是行不通的。它给出了一系列错误,例如: 对“Foo::Foo”的调用没有匹配的函数 我如何让它工作? 感谢您的回复。您需要在中正确初始化Foo,如下所示: class Bar { private: Foo foo; public: Bar() : foo(10) {} }; 否则,编译器在进入构造函数体之前,首先尝试使用默认构造函数初始

我要做的是用Bar中的构造函数声明Foo的一个属性。不幸的是,我这样做是行不通的。它给出了一系列错误,例如:

对“Foo::Foo”的调用没有匹配的函数

我如何让它工作? 感谢您的回复。

您需要在中正确初始化Foo,如下所示:

class Bar
{
    private:
        Foo foo;

    public:
        Bar() :
            foo(10)
        {}
};
否则,编译器在进入构造函数体之前,首先尝试使用默认构造函数初始化这个->foo。因为Foo没有,所以它无法编译

class Bar
{
    private:
        Foo foo;

    public:
        Bar() :
            foo(10)
        {}
};