啊,好久都没发blog了,回归一下🥳🥳🥳
这篇blog主要讲一下c++中类与对象中的对象特性中的构造函数的调用规则(这话有点小绕🫠,说白了就是类与对象---对象特性---构造函数的调用规则)
学了大半个学期的C语言,现在进入到c++语言的学习中,分享一下最近刚学的构造函数调用规则(其实并不难,就是有点绕),让小吉我给大家捋捋👀
先呈现一个知识大纲
测试代码呈现(后面的验证都是在此基础上展开的)
#include<iostream>
using namespace std;
class Person
{
public:
Person()
{
cout << "Person的默认构造" << endl;
}
Person(int age)
{
cout << "Person的有参构造" << endl;
m_age = age;
}
Person(const Person& p)
{
cout << "Person的拷贝构造" << endl;
m_age = p.m_age;
}
~Person()
{
cout << "Person的析构函数" << endl;
}
int m_age;
};
void test01()
{
//进行测试
}
int main()
{
test01();
system("pause");
return 0;
}
☃️进行调用规则一的验证
//test01中进行验证的代码
void test01()
{
Person p;
p.m_age = 18;
Person p1(p);
cout << "p1的年龄" << p1.m_age << endl;
}
将Person的拷贝代码注释掉
☃️进行调用规则二的验证
//test01中的验证代码
void test01()
{
//Person p2;
Person p(28);
Person p1(p);
cout << "p1的年龄" << p1.m_age << endl;
}
将Person的无参构造和拷贝构造的代码给注释掉
☃️进行调用规则三的验证
//test01中的验证代码
void test01()
{
//Person p;
//Person p1(38);
}
将Person的无参构造和有参构造的代码给注释掉
好了,构造函数调用规则就总结完了,下面提供调用规则二和调用规则三的速记法👇👇👇
这篇blog到此就结束了🎆🎇🎆
创作不易,还望大家多多支持,想要小心心❤️❤️❤️和关注😘🥰🤗🫶🫶🫶
快到新年了,先祝大家新年快乐,心想事成🤗