欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++基础学习之在多函数程序中使用using编译指令及总结

程序员文章站 2023-01-15 08:05:44
2.3.5 在多函数程序中使用using编译指令 在程序2.5中,两个函数中都包含下面一条using编译指令: using namespace std; 这是因为每个函数都使用了cout,因此需要能...

2.3.5 在多函数程序中使用using编译指令

在程序2.5中,两个函数中都包含下面一条using编译指令:

using namespace std;

这是因为每个函数都使用了cout,因此需要能够访问位于名称空间std中的cout定义。

在程序2.5中,可以采用另一种方法让两个函数都能够访问名称空间std,即将编译指令放在函数的外面,其位于两个函数的前面:

//ourfunc.cpp--repositioning the using directive  
#include<iostream>  
uisng namespace std;  
void simon(int);  
int main()  
{  
    simon(3);  
    cout<<"pick an integer:";  
    int count;  
    cin>>count;  
    simon(count);  
    cout<<"done!"<<endl;  
    return 0;  
}  
void simon(int n)  
{  
cout<<"simon says touch your toes "<<n<<" times."<<endl;  
}  

当前通行的理念是,只让需要访问名称空间std的函数访问它是更好的选择,例如,在程序2.6中,只有main()函数使用了cout,因此没有必要让函数stonetolb()能够访问名称空间std。因此编译指令using被放在函数main()中,使得只有该函数能够访问名称空间std;

总之,让程序能够访问名称空间std的方法有很多种,下面是其中的4种。

将using namespace std;放在函数定义之前,让文件中所有的函数都能够使用名称空间std中所有的元素。

将using namespace std;放在特定的函数定义中,让该函数能够使用名称空间std中的所有元素。

在特定的函数中使用类似using std::cout;这样的编译指令,而不是using namespace std;,让该函数能够使用指定的元素,如cout。

完全不使用编译指令using,而在需要使用名称空间std中的元素时,使用前缀std::,如下所示:

std::cout<<”i’m using cout and endl from the std namespace”<<std::endl;

命名约定

c++程序员给函数、类和变量命名时,可以有很多种选择。程序员对风格的观点五花八门,这些看法有时就像公共上的圣战。就函数名称而言,程序员有一下选择:

myfunction( )

myfunction( )

myfunction( )

my_function( )

my_funct( )

选择取决于开发团体、使用的技术或库以及程序员个人的品味和喜好。因此凡是符合第三章将介绍的c++规则的风格都是正确的,都可以根据个人的判断而使用。

撇开语言是否允许不谈,个人的命名风格也是值得注意的——它有助于保持一致性和精确性。精确、让人一目了然的个人命名约定是良好的软件工程的标志,它是整个生涯中都会起到很好的作用。

2.5总结

c++程序有一个或多个被称为函数的模块组成。程序从main()函数(全部小写)开始执行,因此该函数必不可少。函数有函数头和函数体组成。函数头指出函数的返回值(如果有的话)的类型和函数期望通过参数传递给它的信息的类型。函数体有一系列位于花括号({})中的c++语言组成。

有多种类型的c++语句,包括下述6种。

n 声明语句:定义函数中使用的变量的名称和类型

n 赋值语句:使用赋值运算符(=)给变量赋值

n 消息语句:将消息发送给对象,激发某种行为。

n 函数调用:执行函数。被调用的函数执行完毕后,程序返回到函数调用语句后面的语句

n 函数原型:声明函数的返回类型、函数接受的参数数量和类型

n 返回语句:将一个值从被调用的函数那里返回到调用函数中

类是用户定义的数据类型规范,它详细描述了如何表示信息以及可对数据执行的操作。对象是根据类的规范创建的实体,就像简单变量是根据数据类型描述创建的实体一样。

c++提供了两个用于处理输入和输出的预定义对象(cin和cout),它们是istream和ostream类的实例,这两个类是在iostream文件中定义的。为ostream类定义的插入运算符(<<)使得将数据插入到输出流成为可能;为istream类定义的抽取运算符(>>)能够从输入流中抽取信息。cin和cout都是智能对象,能够根据程序上下文自动将信息从一种形式转换为另一种形式。

c++可以使用大量的c库函数。要使用库函数,应当包含提供该函数原型的头文件。