单继承时的构造函数的调用次序

来源:互联网 发布:vue require加载js 编辑:程序博客网 时间:2024/05/18 01:38

# include <iostream># include <math.h># include <stdio.h>using namespace std;class basic{public:basic();basic(int i);~basic();void printt() const;private:int b;};basic::basic(){b = 0;cout << "B's default constructor called" << endl;}basic::basic(int i){b = i;cout << "B's constructor called" << endl;}basic::~basic(){cout << "B's destructor called" << endl;}void basic::printt() const   //注意:函数返回值加在类名的前面   const说明不会修改其数据成员{cout << b << endl;}class C:public basic{public:C();C(int i, int j);  //两个参数,一个用来初始化基类的成员,一个用来初始化新增加的成员~C();void printt() const;private:int c;};C::C(){c = 0;cout << "C's default constructor called" << endl;}C::C(int i, int j):basic(i){c = j;cout << "C's constructor called" << endl;}C::~C(){cout << "C's destructor called" << endl;}void C::printt() const{basic::printt();cout << c << endl;}int main(void){C obj(5, 6);obj.printt();return 0;}










0 0