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

第一部分 预备知识
第二章 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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值