C++程序设计:函数定义详解-谭浩强

需积分: 0 0 下载量 133 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"C++程序设计相关知识,特别是关于函数定义的一般形式,以及C语言的特点" 在C++程序设计中,函数是实现特定功能的基本模块。"函数定义的一般形式"是一个重要的概念,它帮助我们理解如何在代码中声明和定义函数。函数定义通常包括以下几个部分: 1. **类型说明**:这是函数返回值的类型,如果函数不返回任何值,我们可以使用`void`关键字。例如,一个返回整数的函数会声明为`int`,而一个不返回值的函数会声明为`void`。 2. **函数名**:这是函数的标识符,用于在程序中调用该函数。函数名应清晰且描述性,反映其功能。 3. **参数列表**:在括号内列出函数接受的参数,如果函数不需要参数,括号内将为空,写成`void`。参数由其类型和名称组成,多个参数之间用逗号分隔。例如,`int add(int num1, int num2)`定义了一个名为`add`的函数,它接受两个整数参数`num1`和`num2`。 4. **函数体**:在大括号`{}`内包含函数的具体实现,即函数执行的操作。这是函数的核心部分,包含了各种语句和表达式。 在描述中提到了“无参函数”,它们不接受任何参数。例如,一个简单的无参函数定义可能如下所示: ```cpp void printMessage() { std::cout << "Hello, World!" << std::endl; } ``` 这个函数`printMessage`没有参数,它用于打印一条消息。 接下来,关于C语言的一些特点,对于理解C++也是至关重要的: - **结构化编程**:C语言支持结构化编程,使得程序的组织清晰,便于理解和维护。它鼓励使用函数来组织代码,每个函数都有明确的任务。 - **混合级语言**:C语言结合了高级语言的抽象和汇编语言的直接控制,提供了丰富的运算符和位运算,这使得C语言既适合编写系统级别的程序,也适合编写应用程序。 - **可移植性**:C语言编写的程序可以在不同的计算机平台上运行,只需要针对目标平台进行少量的修改或无需修改,这得益于其相对底层的特性。 - **灵活性**:C语言的语法结构相对较松散,允许程序员有较大的设计自由度,但也意味着调试和学习曲线可能会更陡峭。对于新手来说,理解和编写没有错误的C程序可能需要更多的时间和实践。 C++是在C语言的基础上发展起来的,它增加了面向对象编程、模板、异常处理等特性,增强了C语言的功能。虽然C++的复杂性更高,但它提供了更强大的工具来解决复杂的编程问题。在C++中,函数的定义和使用方式基本与C相同,但C++提供了更多的高级概念,如类、对象和继承,这些都可以通过函数来实现和交互。

优化以下代码:#include <iostream> #include<string.h> using namespace std; class Book { private:     char bookname[30];     char authers[30];     char publishing_house[40];     int pages;     float price; public:     char getbookname();     char getauthers();     char getpublishing_house();     int getpages();     float getprice();          void setbookname(char *a);     void setauthers(char *a);     void setpublishing_house(char *a);     void setpages(int a);     void setprice(float a);     Book(char*a,char*b,cahr*c,int d,float e)     {         strcpy(bookname,a);         strcpy(authers,b);         strcpy(publishing_house,c);         pages=d;         price=e;     } }; char getbookname() {     char*a=bookname;     return a; } char getauthers() {     char*a=authers;     return a; } char getpublishing_house() {     char*a=publishing_house;     return a; } int getpages() {     int a=pages;     return a; } float getprice() {     float a=price;     return a; } void setbookname(char *a) {     strcpy(bookname,a); } void setauthers(char *a) {     strcpy(authers,a); } void setpublishing_house(char *a) {     strcpy(publishing_house,a); } void setpages(int a) {     pages=a; } void setprice(float a) {     price=a; } int main() {      Book a(char a="《C++程序设计》",char b="谭浩强编制",char c="清华大学出版社",d=484,e=36.00);      Book b(char a="《吹牛大王历险记》",char b="拉斯伯等编著",char c="天津人民出版社",d=149,e=12.80);     cout<<a.getbookname()<<"  "<<a.getauthers()<<"  "<<a.getpublishing_house()<<"  "<<"页数:"<<a.getpages()<<"价钱:"<<a.getprice()<<endl;     cout<<b.getbookname()<<"  "<<b.getauthers()<<"  "<<b.getpublishing_house()<<"  "<<"页数:"<<b.getpages()<<"价钱:"<<b.getprice()<<endl;     return 0; }

2023-05-22 上传