当前位置:编程学习 > C/C++ >>

派生类中的构造函数与析构函数

[cpp]
#include <iostream>  
using namespace std; 
class Part  //部件类  

    public: 
    Part(); 
    Part(int i); 
    ~Part(); 
 private: 
    int val; 
}; 
class Whole: public Part 

    public: 
    Whole(); 
    Whole(int,int,int,int); 
    ~Whole(); 
 private: 
    Part one; 
    Part two; 
    int data; 
}; 
Part::Part() 

    val=0; 
    cout<<"The default constructor of part was called "<<val<<endl; 

Part::Part(int i) 

    val=i; 
    cout<<"The constructor of part was called "<<val<<endl; 

Part::~Part() 

    cout<<"The destructor 33  of part was called "<<val<<endl; 

Whole::Whole() 

    data=0; 
    cout<<"The default constructor of whole was called "<<data<<endl; 

Whole::Whole(int p, int i,int j,int k):Part(p), two(i),one(j),data(k) 

    cout<<"The constructor of whole was called "<<data<<endl; 

Whole::~Whole() 

    cout<<"The destructor 33 of whole was called "<<data<<endl; 

 
int main() 

    Whole w1; 
    Whole w2(1,2,3,4); 
    return 0; 

#include <iostream>
using namespace std;
class Part  //部件类
{
    public:
 Part();
 Part(int i);
 ~Part();
 private:
 int val;
};
class Whole: public Part
{
    public:
 Whole();
 Whole(int,int,int,int);
 ~Whole();
 private:
 Part one;
 Part two;
 int data;
};
Part::Part()
{
    val=0;
 cout<<"The default constructor of part was called "<<val<<endl;
}
Part::Part(int i)
{
    val=i;
 cout<<"The constructor of part was called "<<val<<endl;
}
Part::~Part()
{
 cout<<"The destructor 33  of part was called "<<val<<endl;
}
Whole::Whole()
{
    data=0;
 cout<<"The default constructor of whole was called "<<data<<endl;
}
Whole::Whole(int p, int i,int j,int k):Part(p), two(i),one(j),data(k)
{
    cout<<"The constructor of whole was called "<<data<<endl;
}
Whole::~Whole()
{
 cout<<"The destructor 33 of whole was called "<<data<<endl;
}

int main()
{
    Whole w1;
 Whole w2(1,2,3,4);
 return 0;
}


 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,