CPP(三)

本文深入探讨C++编程,介绍初始化列表的用法,阐述类对象作为类成员时的构造与析构顺序,解析静态成员的特性,包括静态成员变量和静态成员函数。同时,详细讲解了对象模型中的this指针,如何在类的非静态成员函数中使用this指针,并讨论了const修饰的成员函数和常对象的概念。
摘要由CSDN通过智能技术生成

CPP由浅入深(三)

1 初始化列表

作用:CPP提供了初始化列表语法,用来初始化属性

语法:构造函数():属性1(值1),属性2(值2)...{}

class Person {
public:
	//初始化列表初始化属性:
	Person(int a,int b,int c) :m_A(a),m_B(b),m_c(c)
	{
		
	}
	int m_A;
	int m_B;
	int m_c;
};
void test01() {
	Person p(10,20,30);
}
2 类对象作为类成员

CPP类中的成员可以是另一个类的对象,我们称该成员为 对象成员

例如:

class A{}
class B
{
  A a;
}

B类中有对象A作为成员,A为对象成员

那么当创建B对象时,A与B 的构造和析构顺序是谁先谁后?

当其他类的对象作为本类的成员,构造时候先构造类对象,再构造自身,析构的顺序与构造相反。因为变量是放在栈区,符合栈FIFO的特点。

class Phone {
public: 
	Phone(string pName) {
		m_PName = pName;
		cout << "Phone的构造函数调用" << endl;
	}
	~Phone()
	{
		cout << "Phone的析构函数调用" << endl;
	}
	string m_PName;
};
class Person {
pub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值