我有一个类为它创建一个构造函数“A”。然后我用一个构造函数“B”创建另一个类。我如何使用C++语言从不同类的构造函数调用构造函数“B”,即“A”?从不同类的构造函数调用构造函数
-2
A
回答
1
在C++成员或类的对象变量本身的字段中,它们的构造函数自动被编译器调用,正好在类实例化的时候,也就是当它自己的构造函数被调用时。在C++中实例化对象的顺序与此类似,基类构造函数get的先调用,然后是成员变量,然后是派生类,它是您的类。
2
如果A
继承自B
那么您可以从构造函数A
中调用基类构造函数。在C++ 11中,你有更多的灵活性,你可以使用委托构造函数。否则,这个问题没有多大意义。
构造函数是一种特殊的函数,只有在创建新对象时才会调用该函数。除非你这样做,否则你不能调用它,通常当你想创建一个新对象时调用构造函数 - 调用构造函数不是你的目标,得到新对象。
1
这将为您的目的服务。
class A {
public:
A(){
//your code
}
};
class B{
public :
B():A(){
//your code
}
};
1
如果两个类都不在父亲子关系中,那么你可以将类A组成B类。下面是一个例子。
class B{
public:
B(){
cout<<"Class B constructor"<<endl;
}
};
class A{
B pbj;
public:
A(){
cout<<"Class A Constructor"<<endl;
}
};
int _tmain(int argc, _TCHAR* argv[])
{
A obj1;
return 0;
}
相关问题
- 1. 从参数化构造函数调用默认构造函数
- 2. 构造函数中的调用基构造函数和其他构造函数
- 3. 在父构造函数之前调用子类构造函数
- 4. Move构造函数调用基类移动构造函数
- 5. 从另一个构造函数调用默认构造函数
- 6. 从构造函数调用构造函数
- 7. 构造函数调用具有参数的构造函数
- 8. 无参数构造函数调用2参数构造函数
- 9. 属性类不调用构造函数
- 10. 在java中调用继承构造函数的构造函数
- 11. 类构造函数
- 12. 在Kotlin中有两个不同构造函数的数据类构造函数
- 13. Java:如何调用子类构造函数内的超类构造函数?
- 14. 基类构造函数在派生类构造函数之前真的调用
- 15. 从C#中的参数化构造函数调用无参数构造函数?
- 16. 如何在其他构造函数中调用构造函数?
- 17. 从不同的类python调用构造函数
- 18. 构造函数和构造函数中不同类的成员值
- 19. 调用构造函数
- 20. 调用构造函数
- 21. Java调用构造函数
- 22. CodeDom调用构造函数
- 23. Java构造函数调用
- 24. 构造函数调用
- 25. 确定一个构造函数调用其基类的构造
- 26. 内部类的构造函数调用
- 27. Scala:调用超类的构造函数
- 28. 调用模板类的构造函数
- 29. 字符串类的构造函数和复制构造函数
- 30. SyntaxFactory使用调用基类构造函数生成构造函数
'A :: A(){B(); “从技术上讲,这正是你所要求的,尽管我有强烈的感觉,这并不是你想要做的事情(所陈述的问题没有多大意义)。 –
你试图达到什么目的是绝对不清楚的。你是否试图在A的构造函数中实例化B?你在A类中有一个B类成员字段吗?在创建类实例(对象)时调用构造函数。你的实例在哪里? –