码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 类的继承三(继承中的构造与析构)

时间:2016-06-29 23:29:48      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:

//继承中的构造与析构
#include<iostream>
using namespace std;

/*
继承中的构造析构调用原则
1.子类对象在创建时会首先调用父类的构造函数
2.父类构造函数执行结束后,执行子类的构造函数
3.当父类的构造函数有参数时,需要在子类的初始化列表中显示调用
4.析构函数调用的先后顺序与构造函数相反

继承与其他类做成员变量混搭的情况下,构造和析构嗲用原则
1.先构造父类,在构造成员变量,最后构造自己
2.先析构自己,再析构成员变量,最后析构父类
*/

class PointA{
public:
    PointA(int a,int b){
        x = a;
        y = b;
    }
    void PrintA(){
        cout << "PointA:x=" << x << ";y=" << y << endl;
    }
private:
    int x;
    int y;
};

class PointC{
public:
    PointC(int a){
        this->a = a;
    }
    void PrintS(){
        cout << "PointC:a=" << a << endl;
    }
private:
    int a;
};

class PointB :public PointA{
public:
    //调用父类构造函数  调用成员属性的有参构造函数
    PointB(int a, int b, int c) :PointA(a, b), ct(a)
    {
        this->c = c;
    }
    void Test1(){
        this->ct.PrintS();
    }
private:
    int c;
    PointC ct;
};


void ProtectA(){
    PointB pb1(1,1,2);
    pb1.PrintA();
    pb1.Test1();
}

void main(){
    ProtectA();
    system("pause");
}

 

C++ 类的继承三(继承中的构造与析构)

标签:

原文地址:http://www.cnblogs.com/zhanggaofeng/p/5628412.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!