正文
C语言构造函数互相调用,同一个c语言程序中的函数之间可以相互调用
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
构造函数调用另一个构造函数,能行吗
可以的,比如:
struct CLS
{
int m_i;
CLS( int i ) : m_i(i){}
CLS()
{
new CLS(0);
}
};
但是要注意:若构造函数调用自身,则会出现无限递归调用,是不允许的。
所以,在实际使用的时候,单纯的在构造函数中调用其它的构造函数,只是会产生一个临时的匿名变量。如果仅仅是为了重用代码,可以把重用的代码封装成一个新的函数。
在C++的构造函数中能调用其他函数吗?
c++的构造函数中是能够调用其他函数的。
原因如下:
1.
构造函数也是成员函数;
2.
当执行构造函数的时候,对象的数据成员的内存已经分配完成;
3.
因此构造函数是能够调用其他函数的。
一个类的一个构造函数可否调用这个类的另一个构造函数
当然可以,使用this指针就可以访问,但是一般不会使用这种方法。
比如说重载构造函数con
有con();
caon(int
i);
我要在con()里使用con(int
i)
就这么干:
con()
{this(6)}
就可以完成,但是请注意,一个构造函数只能调用另第二个构造函数,而且要放在第一行。
C#构造函数相互调用
构造函数间的相互调用可使用this关键字
public class Comm
{
public Comm():this("默认")
{
}
public Comm(string name)
{
//处理B
}
}
请问怎么在一个构造函数里面调用另一个构造函数呢? C语言里直接写进去调试的时候出错..
有两种调用方法:一是将被调用函数写在调用函数之前;另一种是写在调用函数之后,但在调用函数的一开始要写被调用函数的声明。
如—,void beidiaoyong(void)
{……
……}
void main()
{……
…… }
二,void main()
{
void beidiaoyong(void);
………
}
void beidiaoyong(void)
{……
}