随笔 - 226,  文章 - 0,  评论 - 4,  阅读 - 30326

一.

当构造受委托的构造函数时,受委托的构造函数函数体会执行而委托构造函数函数体不会执行;

复制代码
class Person
{
public:
    Person()
    {
        cout << "这是一个无参构造" << endl;
    }
    Person(const Person& p)
    {
        cout << "这是一个拷贝构造" << endl;
    }
    Person(int b):Person()
    {
        cout << "这是一个有参构造" << endl;
    }
    ~Person()
    {

    }
    int m_b;
};


int main()
{
    Person p;
    system("pause");
    return 0;
}
复制代码

 当构造委托的构造函数时,受委托的构造函数函数体会和委托构造函数函数体均会执行;

复制代码
 1 class Person
 2 {
 3 public:
 4     Person()
 5     {
 6         cout << "这是一个无参构造" << endl;
 7     }
 8 
 9     Person(const Person& p)
10     {
11         cout << "这是一个拷贝构造" << endl;
12     }
13     Person(int b):Person()
14     {
15         m_b = b;
16         cout << "这是一个有参构造" << endl;
17     }
18     ~Person()
19     {
20 
21     }
22     int m_b;
23 };
24 
25 
26 int main()
27 {
28     Person p(10);
29     system("pause");
30     return 0;
31 }
复制代码

二.

拷贝构造不能和有参构造相互委托,因为两者的参数列表不相互匹配

 

posted on   小凉拖  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示