东南大学C++课程-何洁月教授面向对象编程讲解

需积分: 12 8 下载量 76 浏览量 更新于2024-08-19 收藏 3.83MB PPT 举报
"东南大学C++课程,由何洁月主讲,涵盖了C++的基础和面向对象编程知识。课程旨在培养学生的基本计算机程序设计概念、C++语言语法和面向对象编程思想,提升编程及调试能力,为后续学习打下坚实基础。课程内容包括C++语言概述、数据类型与表达式、输入输出、控制结构、自定义数据类型、函数、类与对象等模块,并深入探讨面向对象特性如类、对象、构造函数、析构函数、类组合以及类模板。" 在C++编程中,"二义性"是一个重要的概念,它通常涉及到代码解析的不确定性。在给定的描述中,展示了两种不同形式的if语句嵌套,这两种形式可能会导致不同的执行结果,这便是二义性的一个实例。 首先,我们看第一个例子: ```cpp if(I%3==0) if(I%7==0) cout<<I<<endl; // 输出能被3和7整除 else cout<<I<<endl; // 输出能被3整除但不能被7整除 ``` 在这个例子中,如果I同时能被3和7整除,那么会输出I的值;如果I只能被3整除而不能被7整除,则输出I的值。这里并没有明确的二义性,因为每种情况都有明确的处理路径。 然后是第二个例子: ```cpp if(I%3==0) { if(I%7==0) cout<<I<<endl; // 输出能被3和7整除 } else cout<<I<<endl; // 输出不能被3整除 ``` 在这个例子中,如果I能被3整除,我们会进一步检查它是否也能被7整除,如果是,则输出I的值。然而,如果I不能被3整除,我们将直接输出I的值,而不会去检查它是否能被7整除。这里的二义性在于,外部的else语句与哪个if配对可能不清晰,可能导致读者误解。 在C++课程中,理解这种逻辑结构的二义性是至关重要的,因为它直接影响到程序的执行流程。同时,学习C++还需要掌握基本的数据类型、表达式、输入输出操作、控制结构(如if-else,switch等)、函数的定义与使用、函数模板、类与对象等核心概念。面向对象编程部分,包括类的定义、对象的创建、构造函数和析构函数的作用、继承、多态等,这些都是C++中的高级主题,对于编写复杂的、可维护的代码至关重要。 通过东南大学何洁月老师的C++课程,学生将不仅学习到语言的基本语法,还能深入理解面向对象编程的理念,培养出良好的编程习惯和调试技巧,为后续深入学习计算机科学和相关技术领域奠定坚实的基础。课程内容涵盖广泛,从入门级的C++程序设计到面向对象的编程实践,旨在全方位地提升学生的编程能力。