栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

类和对象——对象的初始化和清理

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

类和对象——对象的初始化和清理

构造函数和析构函数

若人为不实现,编译器会自动实现但函数内为空

构造函数:创建对象时为对象的成员属性赋值 类名(){}

    没有返回值可以有参数,可以重载系统自动调用,不用手动调用,并且只调用一次

析构函数:对象销毁前清理工作 ~类名(){}

    没有返回值不可以有参数,无法重载系统自动调用,不用手动调用,并且只调用一次
构造函数的分类及调用

按参数分类 无参构造(默认构造)和有参构造
按类型分类 普通构造和拷贝构造函数

class test {
	public:
		//无参构造 
		test() {
			cout <<"test的无参构造函数调用"< 

调用:

    括号法:
test p1;	//**
test p2(10);
test p3(p2);

注意:调用默认构造函数时不要加()。因为编译器会认为这是一个函数声明

    显示法:
test p1;
test p2=test(10);
test p3=test(p2); 

若=右边单独出现test(10);称为匿名对象 特点:当前行执行结束,系统会立即回收匿名对象
注意:不要利用拷贝构造函数 初始化匿名对象。因为编译器会认为重定义对象声明

    隐式转换法:
test p2=10;		//有参构造
test p3=p2;		//拷贝构造
拷贝构造函数的调用时机
    使用一个已经创建完的对象来初始化另一个
Person p1;
Person p2(p1);
    值传递的方式给函数参数传值
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739494.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号