在C++的构造函数中能调用其他函数吗?

比如说
class a
{
a()
{ b(); };
~a();

int b(){ cout<<"..."<<endl; };
}
这样允许吗?在VC6编译没问题,但是运行的时候报错了

C++的构造函数中是能够调用其他函数的。

 

原因如下:

    构造函数也是成员函数;

    当执行构造函数的时候,对象的数据成员的内存已经分配完成;

    因此构造函数是能够调用其他函数的。

温馨提示:内容为网友见解,仅供参考
第1个回答  2008-12-25
是不是你这里错了
class a
{
a()
{ b(); };
~a();

int a::b(){ cout<<"..."<<endl; };
};
所以才导致编译能过链接就出现错误本回答被提问者采纳
第2个回答  2008-12-24
当然可以调用拉!
第3个回答  2008-12-24
class a
{
a()
{ b(); };
~a();

int b(){ cout<<"..."<<endl; };
} ;
类定义最后面要加分号;
第4个回答  2008-12-24
可以调用
相似回答