c++中,可以在类内调用另一个类的构造函数吗?

如题所述

C++的构造函数中是能够调用其他函数的。 原因如下: 构造函数也是成员函数; 当执行构造函数的时候,对象的数据成员的内存已经分配完成; 因此构造函数是能够调用其他函数的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-04-26
可以的。
例如:
class
a
{
public:
a(){cout<<"class
a
constructor!\n";}//a的构造函数
~a(){}
};
class
b
{
public:
b(){a
a;}//b的构造函数
};
void
main()
{
b
b;//定义b的对象自动调用b的构造函数,b的构造函数
//里面定义了a的对象自动调用a的构造函数。
}
程序在vc6.0调试通过,并且证明了c++中一个类的构造函数可以调用另一个类的构造函数。
第2个回答  2017-03-02
你的代码,使用了c++11的新特性,确保你使用的编译器支持c++11标准。

我在mac os x下,使用 clang,是可以编译通过的。

注:微软的编译器,在Vistual Studio 2013 之前的C++编译器,都是不支持或不完全支持c++11标准的。本回答被网友采纳

在C++中一个类的构造函数是否可调用另一个类的构造函数?
程序在vc6.0调试通过,并且证明了C++中一个类的构造函数可以调用另一个类的构造函数。

C++如何在一个类里使用另一个类的重载
原因是static const Employee& getMostFaith(const Employee employees[],int n)这个函数的形参类型 是const,而你的Date类的操作符-和>都是非const类型的,所以找不到匹配类型的函数。解决办法 1.friend int operator-(Date &d1,Date &d2) 形参都加const 改成friend int operator-(const Date &d...

C++中,继承时,创建子类对象,能否在子类构造函数初始化列表里调用基类构...
\/\/如果基类没有默认构造函数,则子类的构造函数必须要给定基类的构造函数参数。因为,在类的实例化时是先执行基类构造函数在执行子类构造函数。子类构造函数初始化列表后面直接列出基类构造函数即可,系统会自动调用,不用用户调用。class A{ public:A(int x,int y):x(x),y(y){} private:int x; i...

C++在一个类里调用另一个类的构造函数出错
我在mac os x下,使用 clang,是可以编译通过的。注:微软的编译器,在Vistual Studio 2013 之前的C++编译器,都是不支持或不完全支持c++11标准的。

在C++的构造函数中能调用其他函数吗?
C++的构造函数中是能够调用其他函数的。原因如下:构造函数也是成员函数;当执行构造函数的时候,对象的数据成员的内存已经分配完成;因此构造函数是能够调用其他函数的。

C++如何在一个类的成员函数中调用另一个类的成员函数
1、首先声明如下所示的类,类内部定义一个public的整型数据成员。2、主函数中定义指向类的数据成员的指针。3、声明类的对象,该对象变量调用指向类的数据成员的指针进行赋值操作。4、然后输出打印类的数据成员,从结果看,上一步的操作赋值成功。5、定义类的指针,通过指针指向对象成员的指针来进行赋值。...

C++的类中有两个构造函数的时候在main怎么调用啊?
time( void ) ;} ;int main(void ){ class time t1(12,3,10); \/\/引用第二种构造函数 class time t2; \/\/引用第一种构造函数 t1.list_time() ;t2.list_time() ;return 0;} void time::list_time( void ){ printf("time is :%d:%d:%d\\n" , hour , minute , sec );} ...

C++ 父类成员函数 可以调用子类的成员函数吗
如果在父类的非默认构造函数初始化 m_pSon=new Cson();在默认构造函数初始化:m_pSon=0;那就 可以正常调用了。如果在父类默认构造函数这样初始化:m_pSon=new Cson();按理来说是应该编译错误,就算编译不报错也应该运行出错,因为会进入一个死循环,不停的申请内存,直到系统崩溃,如果楼主是在...

C++类内函数相互调用
创建类只是建立一个模板,内部代码块的书写没有顺序要求;编译时编译器会把它们弄成一个标准化结构的东西。如果考虑你纠结的问题,那绝大多数类的写法都过不了编译,因为习惯上在类名后的public:后就写构造函数了,而常常这构造函数就要操作类中的private数据成员,而这private数据成员偏偏习惯上又是放在...

c++~ 请问在类里面构造函数必须是public吗 可以定义到private吗
可以定义到private,但定义成private会导致此类不能直接被外部实例化,解决方法如下:1、首先拷贝构造函数是一种特殊的构造函数,函数名与类名相同,它的一个参数必须是本类型的一个引用变量,无函数类型、返回值。2、对象通过另一个对象初始化。3、运行如下图所示。4、接着输入函数的参数为类对象。5...

相似回答