C++面向对象编程:函数默认参数

需积分: 9 1 下载量 75 浏览量 更新于2024-07-14 收藏 1.11MB PPT 举报
"有默认参数的函数-C++自学课件" 在C++编程语言中,函数是可重用代码块,它们可以接受输入(参数)并返回结果(返回值)。在某些情况下,我们可能希望为函数提供默认参数值,使得在调用函数时,如果未显式提供实参,函数依然能正常工作。这种特性让函数更灵活,提高了代码的可读性和可维护性。 1.4.6 有默认参数的函数 函数定义时可以为参数设置默认值,这样当调用函数时不提供对应的实参,系统会自动使用这些默认值。定义格式如下: ```cpp return_type function_name(param_type param1 = default_value1, param_type param2 = default_value2, ...); ``` 这里的`return_type`是函数返回值的类型,`function_name`是函数名称,`param_type`是参数类型,`param_variable`是参数变量名,`default_value`则是对应参数的默认值。如果在调用函数时,对某个参数没有提供实参,则该参数将使用默认值。如果提供了实参,那么实参值将覆盖默认值。 重要的是要注意,具有默认值的参数必须位于参数列表的末尾,不允许无默认值的参数和有默认值的参数交错排列。这是因为在函数调用时,参数是从左向右匹配的,如果有默认值的参数在前,编译器无法确定哪些参数应该使用默认值,哪些应该使用实参值。 例如,考虑以下函数定义: ```cpp void print_message(std::string msg = "Hello, world!", int times = 1) { for (int i = 0; i < times; ++i) { std::cout << msg << std::endl; } } ``` 这个函数可以打印一条消息多次。如果不提供任何参数,它将默认打印"Hello, world!"一次。如果只提供一个参数,比如`print_message("Custom message")`,那么"Custom message"会被打印一次,而`times`将使用默认值1。如果提供两个参数,如`print_message("Custom", 3)`,则会打印三次"Custom"。 在学习C++面向对象程序设计时,谭浩强的书籍是一个常见的参考资料。这门课程旨在帮助学生从面向过程的思维方式转向面向对象的思维方式,理解C++语言的基本语义和语法,并掌握其编程特性。课程通过理论教学和实验环节相结合的方式进行,要求学生具备C语言的基础知识,并且鼓励学生积极参与,通过预习、听课、阅读、做作业、上机实践和考核等步骤,逐步掌握C++编程。 此外,学习C++不仅要掌握语法,还要注重实践,因为编程是一个动手能力要求高的技能。同时,要有良好的学习态度,不断探索、改进,并且深刻理解编程对象。研究表明,精通任何领域都需要长时间的学习和实践,编程也不例外。因此,持之以恒的学习和不断实践是成为专业程序员的关键。