类的构造函数:
一个类的构造函数是每当我们创建一个类的新对象时执行的类的一个特殊的成员函数。
构造函数将有完全相同于类的名称,它不具有任何返回类型可言,甚至不是void。构造函数可以是非常有用的为某些成员变量设置初始值。
下面的例子说明了构造函数的概念:
importstd.stdio;classLine{public:voidsetLength(doublelen){length=len;}doublegetLength(){returnlength;}this(){writeln("Object is being created");}private:doublelength;}voidmain(){Lineline=newLine();// set line lengthline.setLength(6.0);writeln("Length of line : ",line.getLength());}
当上面的代码被编译并执行,它会产生以下结果:
Object is being created
Length of line : 6
参数化构造函数:
默认构造函数没有任何参数,但如果需要,构造函数可以有参数。这可以帮助您在其创建为显示在下面的例子中,初始值分配给某个对象时:
importstd.stdio;classLine{public:voidsetLength(doublelen){length=len;}doublegetLength(){returnlength;}this(doublelen){writeln("Object is being created, length = ",len);length=len;}private:doublelength;}// Main function for the programvoidmain(){Lineline=newLine(10.0);// get initially set length.writeln("Length of line : ",line.getLength());// set line length againline.setLength(6.0);writeln("Length of line : ",line.getLength());}
当上面的代码被编译并执行,它会产生以下结果:
Object is being created, length = 10
Length of line : 10
Length of line : 6
类的析构函数:
析构函数执行时,类的一个对象超出范围或当delete表达式应用到一个指针,指向该类的对象类的一个特殊成员函数。
析构函数将有完全相同的名称作为类的前缀与符号(〜),它可以既不返回一个值,也不能带任何参数。析构函数可以是走出来的程序如关闭文件,释放内存等前释放资源非常有用的
下面的例子说明了析构函数的概念:
importstd.stdio;classLine{public:this(){writeln("Object is being created");}~this(){writeln("Object is being deleted");}voidsetLength(doublelen){length=len;}doublegetLength(){returnlength;}private:doublelength;}// Main function for the programvoidmain(){Lineline=newLine();// set line lengthline.setLength(6.0);writeln("Length of line : ",line.getLength());}
当上面的代码被编译并执行,它会产生以下结果:
Object is being created
Length of line : 6
Object is being deleted
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。