从不同类的构造函数调用构造函数
答
在C++成员或类的对象变量本身的字段中,它们的构造函数自动被编译器调用,正好在类实例化的时候,也就是当它自己的构造函数被调用时。在C++中实例化对象的顺序与此类似,基类构造函数get的先调用,然后是成员变量,然后是派生类,它是您的类。
答
如果A
继承自B
那么您可以从构造函数A
中调用基类构造函数。在C++ 11中,你有更多的灵活性,你可以使用委托构造函数。否则,这个问题没有多大意义。
构造函数是一种特殊的函数,只有在创建新对象时才会调用该函数。除非你这样做,否则你不能调用它,通常当你想创建一个新对象时调用构造函数 - 调用构造函数不是你的目标,得到新对象。
答
这将为您的目的服务。
class A {
public:
A(){
//your code
}
};
class B{
public :
B():A(){
//your code
}
};
答
如果两个类都不在父亲子关系中,那么你可以将类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;
}
'A :: A(){B(); “从技术上讲,这正是你所要求的,尽管我有强烈的感觉,这并不是你想要做的事情(所陈述的问题没有多大意义)。 –
你试图达到什么目的是绝对不清楚的。你是否试图在A的构造函数中实例化B?你在A类中有一个B类成员字段吗?在创建类实例(对象)时调用构造函数。你的实例在哪里? –