C++多重继承与面向对象编程

需积分: 35 11 下载量 104 浏览量 更新于2024-08-23 收藏 2.25MB PPT 举报
"多重继承-吉林大学c++课件" 这篇资料主要讲解了C++中的一个重要概念——多重继承,这是面向对象编程的一个特性。在C++中,一个类可以从多个基类继承特性,这就是多重继承。在提供的代码示例中,定义了三个类:Master、Phd和M_p。Master类代表硕士,有id和practice(实践)两个成员变量,Phd类代表博士,有id和paper(论文)两个成员变量。M_p类则同时继承了Master和Phd,这表明M_p类的对象拥有Master和Phd类的所有属性。 ```cpp class Master { public: Master(string p){practice = p;} int id; string practice; }; class Phd{ public: Phd(string p){paper = p;} int id; string paper; }; class M_p:public Master,public Phd { public : M_p(string p,string q):Phd(q),Master(p){} float avg; }; ``` M_p类的构造函数通过初始化列表先调用了Phd的构造函数,然后调用了Master的构造函数,确保了正确地初始化所有继承过来的成员。在main函数中,创建了一个M_p类型的对象a,并设置了它的属性,如实践(practice)和论文(paper),同时也赋值了一个avg属性。 此外,资料还提到了C++的历史和发展,以及它相对于C语言的改进。C++由贝尔实验室的Bjarne Stroustrup在1980年代初期基于C语言发展而来,起初被称为“带类的C”,后来正式命名为C++。C++不仅保留了C语言的全部特性,还引入了面向对象编程的支持,包括类、继承、多态等,使得程序设计更加模块化和可重用。C++是一种混合型语言,既是过程型的,也是面向对象型的,允许开发者根据需求选择合适的编程范式。 在面向对象编程中,"对象"是核心概念,它是现实世界实体的抽象,包含了数据(属性)和操作数据的过程(方法)。而"继承"则是对象之间共享特性的机制,通过继承,子类可以重用基类的属性和行为,提高了代码的复用性和可维护性。在这个例子中,M_p类就利用了继承来实现Master和Phd类的特性整合。 课程还强调了理解和掌握C++语言的重要性,以及通过学习C++提高编程和调试能力的目标。同时,课程的教师邮箱和推荐教材也被提及,便于学生进一步学习和交流。课堂纪律和上机要求也提醒学生要重视实践和理论结合,为后续的学习打下坚实基础。