Posted on 

main函数,类与命名空间

main函数

每个C++程序都从一个名为main 的函数开始执行。

1
2
3
4
int main()
{
// code
}

以上是一个函数的结构,其中包括:

  1. 返回值类型 return type
  2. 函数名称
  3. 参数列表 parameter list
  4. 函数体 function body

int 规定了返回值的类型,意味着这个函数返回一个整型。

main 是函数名称。main 并不是C++的关键字,但C++程序应包含一个名为main 的函数,否则无法执行。

( ) 内的为参数列表。列表中通过逗号分隔参数,每个参数需要注明其数据类型,如(int val1, int val2)

函数体由大括号{ } 标出。

类是用户自定义的数据类型(_user-defined data type_)。

类的定义一般来说分为两部分:

  1. ”头文件“,用来声明该class所提供的各种操作行为。
  2. 程序代码文件,包含了这些操作行为的具体内容。

使用类,必须先在程序中包含其头文件。

举例来说,C++标准的”输入/输出库“ iostream

1
#include <iostream>

其中,cout 对象已经被定义好,用于将信息写到用户的终端中。

output 运算符(<< )可以将数据定向到cout:

1
cout << "Hello World";

cout (读作 see out) 自然就有 cin ,用于读取用户输入。

1
2
#include <string>
cin >> my_name

模版类

1
complex<double> purei(0,7);

出现在complex后面的<> 说明complex是一个模版类。模版类允许我们在“不必指明data member类型“的情况下定义类。

具体来说,complex复数类有两个data member object ,分别为实部部分和虚部部分;两个部分均由浮点数表示。而C++的浮点数包含float double long double 三种类型,模版类允许直到使用模版类时才决定数据类型:例如这里使用了双精度浮点型(绑定)。

命名空间

命名空间:一种将库名称封装起来的方法。

1
using namespace std;

usingnamespace 都是C++中的关键字。

std 是标准库所驻之命名空间(_namespace_)的名称。

标准库所提供的任何事物(如stringcoutcin )都被封装在命名空间std 内。

通过命名空间,可以避免和应用程序发生命名冲突的问题。

因此,要在程序中使用string class , cout cin 这样的类对象,需要:

  1. 包含对应的头文件。
  2. 使命名空间std 内的名称曝光。最简单的方式便是using namespace std;