首页 > 其他分享 >委托构造函数

委托构造函数

时间:2023-05-28 21:34:20浏览次数:37  
标签:cout 委托 构造 Person 构造函数 函数

一.

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

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 }

二.

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

 

标签:cout,委托,构造,Person,构造函数,函数
From: https://www.cnblogs.com/Sandals-little/p/17438902.html

相关文章

  • js原型prototype(实例构造函数的属性) __proto__(实例对象的属性) constructor(实例
    functionPerson(name,age){this.name=namethis.age=age}Person.prototype.sayHi=function(){//原型是公共方法解决构造函数new对象公共属性和方法的内存浪费console.log(this.name+'sayhi!!')}constp1=newPerson('aa',12)constp2=new......
  • 什么是构造函数?它有什么作用?
    构造函数是一个特殊的方法,它用于创建对象时初始化对象的实例变量。每个类都至少有一个构造函数,如果没有定义,则会有一个默认的无参构造函数。构造函数与类名相同,没有返回类型。构造函数可以用于为对象分配内存,初始化对象的状态,执行其他初始化任务等。......
  • C# 委托和闭包
    委托是什么大部分的解释是委托是一个对方法的引用,可以不用自己执行,而是转交给其他对象。就好比每天都有一个黄毛旅行者,给npc做委托任务一样,npc并不是自己去做任务。于是我们可以有以下代码,delegate就是声明一个委托,它的作用是调用sum方法 //Seehttps://aka.ms/new-conso......
  • LIMS实验室信息管理系统新增合同委托单
    LIMS系统如何快速新增委托单。委托单基本含有三个部分的内容:1.委托单基础内容如:委托单位信息,样品信息等2.付款单位信息。3.委托单测试项目。委托单基础内容可以通过委托模板自动填写委托单位信息和样品信息。委托单位信息能自定义字段:可以根据业务要求自定义委托单位的具体内容,填......
  • 构造函数的调用时机/次数
    一个变量只能调用一次构造函数,那就是在定义变量的时候调用,除非变量为局部变量,否则不会重复调用,一直到程序结束也就调用那么一次。也就是说只有在定义新的变量的时候才会调用构造函数。【eg1】定义在主函数的情况•#include<iostream>#include<windows......
  • c++ 子类与父类的构造函数继承关系
    规范上,子类构造函数肯定是会调父类的构造函数。 如果代码中没写,就会隐含调用父类的默认构造函数(即那个无参构造函数)。如果父类没有,编译报错。 1,展示了当子类要调用父类中带参数的构造函数时:#include<iostream>#include<cstdio>classA{public:A(){printf("......
  • 事件与委托和反射的关系
    坚持不懈的去学习。主动去思考,不要等着别人把知识灌输给你。第一阶段,用依赖实现开门例子先去实现了发消息者类和接收消息者类的依赖关系——接收者类依赖发消息者类。在这儿的关系是一个“死”依赖,在接收消息者类里明确的知道接收方法依赖的是发消息者类,也明确的指出调用发消息者类......
  • c++ - 为什么要在构造函数上使用 constexpr?
    我知道 constexpr 允许您在编译时将对象用作常量,但是什么时候这会有益呢?我试图更好地理解关键字,但我找不到一个很好的例子来解释为什么需要它的构造函数。下面的两个例子都有效,那么为什么要将constexpr放在构造函数上呢?在构造函数上使用constexpr:#include<iostream>us......
  • 构造函数、实例、原型对象三者之间的关系
     实例.__proto__ ===原型原型.constructor===构造函数构造函数.prototype===原型实例.constructor===构造函数(其实就是实例ldh.__proto__通过ldh.__proto__指向Star原型对象,原型对象通过constructor指向Star构造函数)constobj=newObject()obj.__proto__===Ob......
  • js中class的构造函数的this指向问题
    场景定义了一个类的构造函数需要的参数是一个对象,而该对象的属性对class实例的属性进行了调用或修改,也就是在对象中使用了this问题示例classPerson{name:''age:0sex:0setName:nullconstructor(person){this.setName=person.setName}}con......