C++回顾之构造函数与析造函数
作者:网络转载 发布时间:[ 2014/2/11 10:07:07 ] 推荐标签:C++ 构造函数 析造函数
构造函数的概念
(1)构造函数是特殊的成员函数
(2)当创建类类型的新对象时,系统自动会调用构造函数
(3) 构造函数是为了保证对象的每个数据成员都被正确的初始化。
创建构造函数的注意事项:
(1) 函数名与类名相同;
(2) 没有返回类型,返回类型也不能是void型
(3) 构造函数通常情况下声明为public,否则不能像其它成员函数那样被显示的调用
(4) 构造函数也可以声明为private,但是是用作特殊用途-----如单例类singleton时是将构造函数声明为private.
(5) 构造函数可以有任何类型与任意个数的参数,一个类可以定义多个构造函数(重载)
关于默认构造函数:
默认构造函数是构造函数的其中一种。除此之外,还有拷贝构造函数与转换构造函数,这个后期再说明。默认构造函数是不带任何参数的构造函数,如果程序中未声明定义任何一个构造函数,则系统将自动产生一个默认的构造函数,此时不会对对象数据成员进行初始化,那么对象数据成员的值将是随机的。而如果我们提供了一个构造函数(只要是构造函数,无论是带参数的,还是不带参数的,是拷贝还是转换构造函数),哪怕只提供了仅仅一个构造函数,系统不会再为我们提供默认构造函数了。
下面是关于构造函数的类定义:
class Test
{
public:
Test(){} //系统不再提供默认构造函数
Test(int val) //构造函数可以重载
{
val_ = val ;
}
~Test(){}
private:
int val_;
};
下面代码是Test类的使用:
int main()
{
Test t1; //系统调用不带参数的默认构造函数
Test t2(5); //系统调用带一个参数的构造函数
Test *t3 = new Test(20); //分配内存+调用带一个参数的构造函数,这种操作称为new operator.
delete t3; // 调用析构函数+ 释放内存
}
请注意:全局对象的构造函数是先于main函数执行的
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11