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