C++ 如何在另一个类中调用自定义构造函数

C++ 如何在另一个类中调用自定义构造函数,c++,C++,如果我有两个类,一个带有自定义构造函数,另一个带有第一个类的实例。如何使用自定义构造函数创建该实例 例如: a、 h b、 h 这将无法正常工作,它在字符串本身上给出了错误“应为类型说明符”,并且每当我在类B中使用类a的成员时,它都会说“表达式必须具有类类型” 我想这意味着我必须去 A a(std::string words); 但我不确定在何处或如何定义字符串。使用构造函数的初始化列表: 此外,在C++11中,您可以使用统一初始值设定项语法: 但是有了它,您只能用编译时常量调用构造函数。a{

如果我有两个类,一个带有自定义构造函数,另一个带有第一个类的实例。如何使用自定义构造函数创建该实例

例如:

a、 h

b、 h

这将无法正常工作,它在字符串本身上给出了错误“应为类型说明符”,并且每当我在类B中使用类a的成员时,它都会说“表达式必须具有类类型”

我想这意味着我必须去

A a(std::string words);
但我不确定在何处或如何定义字符串。

使用构造函数的初始化列表:

此外,在C++11中,您可以使用统一初始值设定项语法:

但是有了它,您只能用编译时常量调用构造函数。

a{“问候语”}将起作用。你真正需要的是一个。
Class B
{
public:
    A a("Greetings");
};
A a(std::string words);
class A
{
public:
    A (std::string input);
};

class B
{
    A a;
public:
    B (std::string s) : a (s) {}; //This calls the constructor of A on 'a'
};
class B
{
    A a {"Greetings"}.
    ...
};