#include <iostream> using namespace std; class Base { int a; public: Base(int i) { a=i; cout<< "Base constructor" <<endl; } ~Base(){ cout<< "Base destructor" <<endl; } void print(){ cout<< a <<endl;} }; class Member { int b; public: Member(int j) { b=j; cout<< "Member constructor" <<endl; } ~Member(){cout<< "Member destructor" <<endl; } void print(){cout<< b <<endl;} }; class Derive : public Base { int c; Member mem; public: Derive(int i, int j, int k) : mem(j), Base(i) { c=k; cout<< "Derive constructor" <<endl; } ~Derive(){ cout<< "Derive destructor" <<endl;} void print() { Base::print(); mem.print(); cout<< c << endl; } }; int main() { Derive d(2,3,4); d.print(); return 0; }
时间: 2024-04-26 09:23:05 浏览: 71
程序员面试宝典题目总结
5星 · 资源好评率100%
这是一个 C++ 的面向对象程序,其中定义了三个类:Base、Member、Derive。其中,Base 是基类,Member 是一个包含一个整型成员的类,Derive 是一个从 Base 继承而来的派生类,其中包含一个 Member 对象和一个整型成员。
在程序中,首先定义了 Base 类,其中有一个构造函数和一个析构函数,构造函数中输出 "Base constructor",析构函数中输出 "Base destructor"。Base 类中还定义了一个 print 函数,用于输出类中的私有成员 a。
接着定义了 Member 类,其中有一个构造函数和一个析构函数,构造函数中输出 "Member constructor",析构函数中输出 "Member destructor"。Member 类中还定义了一个 print 函数,用于输出类中的私有成员 b。
最后定义了 Derive 类,它从 Base 类继承而来,其中包含一个 Member 对象和一个整型成员 c。Derive 类中的构造函数使用了成员初始化列表的方式,先初始化 Member 对象,再初始化 Base 对象。构造函数中输出 "Derive constructor",析构函数中输出 "Derive destructor"。Derive 类中还定义了一个 print 函数,它调用了 Base 类和 Member 类的 print 函数,并输出类中的私有成员 c。
在 main 函数中,定义了一个 Derive 类的对象 d,使用构造函数 Derive(int i, int j, int k) 初始化对象 d。最后调用对象 d 的 print 函数,输出类中的私有成员 a、b、c。
阅读全文