类和对象-对象特性-函数的分类以及调用

函数的分类以及调用

#include<bits/stdc++.h>
using namespace std;
class Person{
	
public:
	Person(){
		cout<<"Person的无参构造函数调用"<<endl;
	}
	Person(int a){
		age=a;
		cout<<"Person的有参构造函数调用"<<endl;
	}
	Person(const Person &p) {
		age=p.age;
		cout<<"Person的拷贝构造函数调用"<<endl;
	}
	~Person(){
		cout<<"Person的析构函数调用"<<endl;
	}
	int age; 
};
void test01(){
	//括号法
	
	Person p1;
	Person p2(10); 
	Person p3(p2); 
	
	//调用默认构造函数时候,不要加() ,编译器会认为这是一个函数声明 
	
	cout<<"p2的年龄为:"<<p2.age<<endl;//10
	cout<<"p3的年龄为:"<<p3.age<<endl;//10
	
	//显示法
	Person p4;
	Person p5=Person(10);
	Person p6=Person(p5);
	
	
	//隐式转换法 
	Person p7=10;
	Person p8=p7;
}
int main(){
	test01(); 
	return 0;
} 

这段代码主要涉及了C++中的构造函数和拷贝构造函数的使用,以及对象的初始化方式。

  1. 构造函数:在类中定义的函数,用于初始化对象的数据成员。在本代码中,Person类中定义了无参构造函数、有参构造函数和拷贝构造函数。

  2. 对象的初始化方式:

  • 括号法:使用类的构造函数初始化对象,可以是无参构造函数、有参构造函数或拷贝构造函数。
  • 显示法:使用类的构造函数显式地初始化对象。
  • 隐式转换法:使用基本数据类型的值初始化对象,编译器会自动调用相应的构造函数。
  1. 拷贝构造函数:用于在创建新对象时,以已有对象的值作为初始值。在本代码中,Person类中定义了拷贝构造函数,用于在创建p3和p6时,以p2和p5的值作为初始值。

  2. 析构函数:在对象销毁时自动调用,用于释放对象占用的资源。在本代码中,Person类中定义了析构函数,用于在对象销毁时输出一条信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值