精华内容
下载资源
问答
  • 2,调用子对象构造函数,对子对象数据成员初始化; 3.调用派生构造函数,对派生数据成员初始化。 #include using namespace std; class Base{ public: Base(int n) { i=n; cout...

    调用顺序

    1.调用基类的构造函数,对基类数据成员初始化。

    2,调用子对象构造函数,对子对象数据成员初始化;

    3.调用派生类的构造函数,对派生类数据成员初始化。

    #include<iostream>
    using namespace std;
    class Base{
    public:
    	Base(int n)
    	{
    		i=n;
    		cout<<"constructing  Base class"<<endl;
    	}
    	~Base()
    	{
    		cout<<"destructing   Base class"<<endl;
    	}
    	dispB()
    	{
    		cout<<"i="<<i<<endl;
    	}
    private:
    	int i;
    };
    class Derived:public Base{
    public:
    	Derived(int y):Base(y),base(y)   //派生类的构造函数。调用基类构造函数和子对象构造函数
    	{
    		cout<<"constructing Derived class"<<endl;
    	}
    	~Derived()
    	{
    		cout<<"destructing Derived class"<<endl;
    	}
    private:
    	Base base;  //定义子对象base
    };
    int main()
    {
    	Derived der(521);
    	der.dispB();
    	return 0;
    }
    


    展开全文
  • #include #include using namespace std; class time{ public: time(){}; time(int y,int m,int d){ year=y; month=m; dag=d; } time(time &p) { year=p.year; month=p.month;...void
    #include<iostream>
    #include <string> 
    using namespace std;
    class time{
    public:
    time(){};
    time(int y,int m,int d){
    year=y;
    month=m;
    dag=d;
    }
    time(time &p)
    {
    year=p.year;
    month=p.month;
    dag=p.dag;
    }
    void set(){
    cout<<"请输入生日"<<endl;
    cin>>year>>month>>dag;
    }
    void show(){
    cout<<"出身日期为:"<<year<<"年"<<month<<"月"<<dag<<"日"<<endl;
    }
    private:
    int year;
    int month;
    int dag;
    };
    class personnel{
    public:
    personnel(personnel &j)

    code=j.code;
    strcpy(name,j.name); 
    sex=j.sex; 
    strcpy(id,j.id);
    birthday=j.birthday;

    personnel(){};
    personnel(int i,char j[10],bool x,char s[18]):birthday()
    {
    code=i;
            strcpy(name,j);
    sex=x;
           strcpy(id,s);
    }
    void entry(){
    cout<<"请输入编号:"<<ends;
    cin>>code;
    cout<<"请输入名字(只能是英文)"<<endl;
    cin>>name;
    cout<<"请输入性别(0男或1女):"<<ends;
    cin>>sex;
    birthday.set();
    cout<<"请输入身份证号:"<<endl;
    cin>>id;
    }


    void show(){
    cout<<"编号:"<<code<<endl;
    cout<<"名字为:"<<name<<endl;
    if(sex)
    {
    cout<<"性别:女"<<endl;
    }
    else cout<<"性别:男"<<endl;
            birthday.show();
    cout<<"身份证:"<<id<<endl;
    }
    ~personnel()

    cout<<"第"<<code<<"号人员已经录入"<<endl; 
    }


    private:
    int code;
    char name[10];
    bool sex;
    time birthday;
    char id[18]; 
    };
    int main(){
     personnel h;
     h.entry();
          h.show();
    return 0;
        
    }
    展开全文
  • 【2】派生类构造函数的语法: 派生类名::派生类名(参数总表):基类名1(参数表1),基类名(参数名2)....基类名n(参数名n),内嵌子对象1(参数表1),内嵌子对象2(参数表2)....内嵌子对象n(参数表n) { ...


    【1】派生类的构造函数和析构函数的引进:派生类不能继承基类的构造函数和析构函数,派生类需要定义自己的构造函数和析构函数

    【2】派生类构造函数的语法:

    派生类名::派生类名(参数总表):基类名1(参数表1),基类名(参数名2)....基类名n(参数名n),内嵌子对象1(参数表1),内嵌子对象2(参数表2)....内嵌子对象n(参数表n)
    {
        派生类新增成员的初始化语句;
    }
    【3】派生类的析构函数的语法:
    ~派生类名();
    或  ~派生类名() {   语句; }

    【4】派生类构造函数的作用:负责清理它新定义的非对象数据成员。(对象的数据成员由它所属类的析构函数负责析构,基类的由基类负责)
    【5】派生类析构函数:功能是在该对象消亡之前进行一些必要的清理工作,析构函数没有类型,没有参数

    【5】派生类构造函数执行的次序
      1. 调用基类构造函数,调用顺序按照它们被继承时声明的顺序(从左到右);
       2.调用内嵌成员对象的构造函数,调用顺序按照它们在类中声明的顺序;
      3. 派生类的构造函数体中的内容。
    【6】派生类析构函数执行顺序与构造函数相反。
    例如:
    #include <iostream>
    #include <time.h>
    using namespace std;
    class B1   
    {public:                                                                   
    B1(int i)
       { cout<<"constructing B1 "<<i<<endl; } 
      ~B1() { cout<<"destructing B1"<<endl; }
    };
    class B2
    {public:
       B2(int j) 
      { cout<<"constructing B2 "<<j<<endl; } 
      ~B2() { cout<<"destructing B2"<<endl; }
    };
    class C: public B2, public B1, public B3
    {public
      C(int a, int b, int c, int d):B1(a), memberB2(d), memberB1(c),B2(b) { }
    private
      B1 memberB1; 
      B2 memberB2; 
      B3 memberB3;
    };
    int main()
    { C obj(1,2,3,4);      //创建对象时自动调用构造函数
       return 0; }           //释放空间时调用析构函数
    运行结果:
    constructing B2 2            //调用基类构造函数,调用顺序按照它们被继承时声明的顺序
    constructing B1 1
    constructing B3
    constructing B1 3
    constructing B2 4           //C类调用内嵌成员对象的构造函数,调用顺序按照它们在类中声明的顺序
    constructing B3
    destructing B3
    destructing B2
    destructing B1
    destructing B3
    destructing B1
    destructing B2              //调用顺序与构造函数相反







    展开全文
  • 2、派生类构造函数的语法: 派生类名::派生类名(参数总表):基类名1(参数表1),基类名(参数名2)....基类名n(参数名n),内嵌子对象1(参数表1),内嵌子对象2(参数表2)....内嵌子对象n(参数表n) { ...
    1、派生类中由基类继承而来的成员的初始化工作还是由基类的构造函数完成,然后派生类中新增的成员在派生类的构造函数中初始化。
     
    2、派生类构造函数的语法:
    派生类名::派生类名(参数总表):基类名1(参数表1),基类名(参数名2)....基类名n(参数名n),内嵌子对象1(参数表1),内嵌子对象2(参数表2)....内嵌子对象n(参数表n)
    {
        派生类新增成员的初始化语句;
    }
    注:构造函数的初始化顺序并不以上面的顺序进行,而是根据声明的顺序初始化。
     
    3、如果基类中没有不带参数的构造函数,那么在派生类的构造函数中必须调用基类构造函数,以初始化基类成员。
     
    4、派生类构造函数执行的次序:
       调用基类构造函数,调用顺序按照它们被继承时声明的顺序(从左到右);
       调用内嵌成员对象的构造函数,调用顺序按照它们在类中声明的顺序;

       派生类的构造函数体中的内容。

    5、析构函数
    派生类的析构函数的功能是在该对象消亡之前进行一些必要的清理工作,析构函数没有类型,也没有参数。析构函数的执行顺序与构造函数相反。

    展开全文
  • 拷贝构造,也是一种构造函数,也是没有被继承下来的,子类中也需要进行相应的调整 规则: 子类 当子类不自实现时,默认调用父类的拷贝构造 若自实现,不做特殊处理,此时只会调用父类的构造器 特殊处理:显示调用父类的...
  • 题目名称: ... 其中"出生日期"定义为一个"日期"类内嵌子对象。  用成员函数实现对人员信息 的录入和显示。  要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、带缺省形参值的成员函数、
  • 设计一个用于人事管理的...其中"出生日期"定义为一个"日期"类内嵌子对象。用成员函数实现对人员信息的录入和显示。 要求包括:构造函数和析构函数、带缺省形参值的成员函数等实现。 #include using namespace std
  • 内嵌子对象构造-&gt;子类构造 同时,由于父类的构造器没有被及时继承下来,所以也要在子类中调用,子类的构造函数也需要根据基类和内嵌做出改动 如果基类构造函数中没有参数,则系统会使用默认无参构造函数,此时...
  • 继承中的构造 1.1 首先来说下派生 【1】派生的组成 = 基类继承而来的成员 + 派生类类中 新增加的成员 。 【2】特点:从基类继承过来的表现与基类所表现其共性,...内嵌子对象1(参数列表1),内嵌子对象2(参数列表2)..
  • c++实验一:对象

    2020-05-22 23:27:38
    其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的初始化和显示。本次实验要求设计以下函数:构造函数、复制构造函数、析构函数、内联成员函数、带默认形参值的成员函数。 [实验目的] 1...
  • C++实验一 对象

    2020-06-02 10:11:27
    其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的初始化和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、带默认形参值的成员函数、的组合。 #include <...
  • c++对象(一)

    2018-03-25 13:51:30
    c++与对象—组合的实例 ...其中“出生日期”声明为一个“日期”内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、组合。 的组合描述的就...
  • 实验4 对象

    2012-12-01 18:19:10
    声明一个CPU,包含等级(rank)、频率(frequency)、...其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。
  • 其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录人和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、带默认形参值的成员函数、的组合。 源代码: Date.h /*...
  • 对象课后题

    2018-06-09 16:32:07
    一个用于人事管理的人员,所有人员都具有的属性有:编号,性别,出生日期,身份证号,录入并输出这些数据,其中出生日期声明为一个Date类内嵌子对象c++一个伟大的起步……#include &lt;iostream&gt; using...
  • C++实验2 对象

    2011-06-22 10:00:12
    (1)定义一个CPU,包含等级(rank)、频率(frequency...其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录人和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。
  • 时钟 people

    2019-04-25 21:28:44
    1.编写一个时钟,数据成员为时、分、秒,函数成员包括设置时间函数、返回时间函数...其中出生日期声明为一个Date(日期)类内嵌子对象。函数成员中包含构造函数、拷贝构造函数、析构函数、录入和显示人员信息的函...
  • C++实验4 用于人事管理的(人员)、设计Computer

    千次阅读 多人点赞 2019-05-10 14:30:57
    其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。 2.设计Computer,CPU,RAM,InputDevice,Output...
  • People

    2021-01-29 01:12:56
    其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括构造函数和析构函数、拷贝构造函数、内联成员函数。 相关阅读 相关阅读 完整代码 #include<bits/stdc++.h> ...
  • 的组合

    2017-11-27 15:56:00
    其中“出生日期”声明为一个“日期”内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、带默认形参值的成员函数、的组合。 1 2 3 4 5 6 7 8...
  • 关于

    2018-03-23 18:42:11
    构造函数用于初始化如:class a ...内嵌子对象,就是class a;class b{class a;} 的组合,class a;class b{b(a aa);私有成员定义a ap;} b::b(a aa) aa等于(ap) {} 复制构造函数,class b{b...
  • 设计一个用于人事管理的People(人员) ...其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、的组合。
  • 其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。 #include <iostream> using namespace std; /...
  • 实验3.3 设计一个用于人事管理的People(人员)

    千次阅读 多人点赞 2020-05-31 21:59:49
    题目 (选做)设计一个用于人事管理的People...其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。 ...
  • C++的学习记录

    2020-05-18 10:51:11
    其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的初始化和显示。要求包括:构造函数和析构函数、复制构造函数、内联成员函数、带默认形参值的成员函数、的组合。 #include<...
  • C++创建People--练习

    2018-04-07 21:07:00
    题目描述 /*设计一个用于人事管理的...其中“出生日期”定义为一个“日期”类内嵌子对象。 用成员函数实现对人员信息的录入和显示。 要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。 ...

空空如也

空空如也

1 2
收藏数 38
精华内容 15
关键字:

内嵌子对象类构造函数