C++学习笔记(十一):初始化列表、类成员

初始化列表

语法:类名():成员属性1(值1),成员属性2(值2)…
{函数体}

class Person{

    string name;
    int age;


public:
    Person(string _name,int _age):name(_name),age(_age){
        
    }

};

类作为成员

语法:

class A{
.
.
.
};

class B{
	A a;
.
.
};

注意事项:

  1. 在A作为B的成员时,对B进行实例化,先调用A的构造函数,再调用B的构造函数。释放时,先调用B的析构函数,再调用A的析构函数。
class Person{

    string name;
    int age;


public:
    Person(string _name,int _age):name(_name),age(_age){
        cout<<"人的构造函数"<<endl;
    }

    ~Person(){
        cout<<"人的析构函数"<<endl;
    }

};

class Student{
    string school;
    Person p;

public:
    Student(string _name,int _age,string _school):school(_school),p(_name,_age){
        cout<<"学生的构造函数"<<endl;
    }

    ~Student(){
        cout<<"学生的析构函数"<<endl;
    }
};
.
.
Student s("killer",23,"university");

结果:在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值