C++ FAQS 翻译3 (第一部分 预备知识 第二章 C++语法和语义基础)

王朝c/c++·作者佚名  2006-01-09
宽屏版  字体: |||超大  

第一部分 预备知识

第二章 C++语法和语义基础

问题2.1 本章的目的是什么?

答:介绍C++基本的语法和语义。

本章对C++的语法和语义提供了简短的概述,涵盖了大部分的概念,包括了:main()函数的作用,创建和使用局部对象、动态对象以及静态对象,通过传值、传引用和传地址的方式传递C++对象,默认参数列表,C++的输入输出流,类的操作符重载,模板的使用,使用auto_ptr(智能指针)防止内存泄露,异常处理,类的成员函数、const成员函数、构造函数、初始化列表、析构函、继承、is-a的转化和动态绑定等等.

有经验的C++程序员可以跳过本章。

问题2.2 main()函数的要点是什么?

答:它是应用程序的重要函数之一。

面向对象的C++程序几乎全是由类组成的,但是,至少会存在一个c语言风格的函数main()。mian()在程序开始执行的时候被调用,当main()函数结束的时候,操作系统会中止程序的运行。main()函数总是返回int类型,类似于下面的形式:

int main()

{

// ...

}

main()函数有一个特性:在结束的时候,默认会返回 “0;”。因此就算程序在main()函数的结尾处出现流程上的错误,main()函数仍能将0返回给操作系统。大多数的操作系统会把main()的返回值0作为程序正常结束的标志。

main()函数是唯一具有隐含在结束时返回0的函数。其他的函数必须使用显式的语句来返回适当的整型值。

本节中的例子中main()函数是不带任何参数的,然而,向C语言中一样,为了能够处理程序的命令行,main()函数的参数是可选的。

问题2.3 Funtions的要点是什么?

答:Functions就是函数,它是一种将软件分解成更小的、可管理的小块的重要方法。Functions可以有返回值(例如:函数通过计算得到了一个值并将这个值返回)、也可以没有返回值。对于不返回值的Functions,它的返回值类型是void,它们通常被叫做procedure(过程)。

在下面的例子中,函数f()没有参数和返回值(即它的返回值是void),函数g()带有两个整型参数和一个浮点型的返回值。

void f()

{

// ...

}

float g(int x, int y)

{

float sum = x + y;

float avg = sum / 2.0;

return avg;

}

int main()

{

f();

float z = g(2, 3);

}

问题2.4 默认参数的要点是什么?

答:C++允许函数带有默认参数。当函数的调用者不给函数提供输入参数的时候,默认参数将提供给函数指定的默认值。例如下面的例子:如果调用者不给函数f()提供输入参数的话,整数42将作为默认参数传递给函数f()。既然如此,函数的默认参数有可能使调用者的代码看起来更简练。

void f(int x=42); <-- 1

void f(int x) <-- 2

{

//...

}

int main()

{

f(29); <-- 3

f(); <-- 4

}

(1) 在函数的声明中声明默认参数

(2) 在函数定义的时候,不能重复声明默认参数

(3) 传递整数29给函数f()

(4) 传递整数42给函数f()

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有