C++教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.5 C++程序组成

下面再看两个C++程序。

【例Ex_Simple1】 在屏幕上输出一个由星号形成的三角形

/// 输出星号的三角形阵列
#include<iostream>
using namespace std;
void DoDraw(int num);                           // 声明一个全局函数
int  main()
{
     int  num=5;                              // 定义并初始化变量
     DoDraw(num);                             // 函数的调用
     return 0;                                // 指定返回值
}
void DoDraw(int num)                          // 函数的定义
{
     for(int  i=0;  i<num;  i++)              // 循环语句
     {
        for(int  j=0; j<=i;j++) cout<<'*';
        cout<<'\n';
     }
}

本程序包括两个函数:主函数main和被调用的函数DoDraw。DoDraw函数是在屏幕上输出星号的三角形阵列,这个阵列的行数以及每行星号的个数由num决定。程序运行的结果如下:

在以后的 C++程序运行结果中,本书不再完整显示其控制台窗口,也不再显示“Press any key to continue”,仅显示控制台窗口中运行结果部分,并加以单线阴影边框,本书做此约定。

【例Ex_Simple2】 用类的概念重写例Ex_Draw

#include <iostream>
using namespace std;
class CDrawArray                               // 定义一个类
{
public:
     void CDrawArray::DoDraw(int num)          // 公有成员函数有其实现
     {
          for(int i=0;i<num;i++)
          {
              for(int j=0;j<=i;j++)  cout<<'*';
              cout<<'\n';
          }
     }
};
int  main()
{
     int  num=5;
     CDrawArray myDraw;                        // 定义类的一个对象
     myDraw.DoDraw(num);                       // 调用此对象的成员函数
     return 0;                                 // 指定返回值
}

虽然本程序的作用和例 Ex_Simple1 是一样的,但它引用了类的概念,是一个面向对象的 C++程序。程序中 class 后的名称是要定义的类名,该类仅声明了一个公共类型的成员函数 DoDraw。调用时,先定义该类的对象,然后像 myDraw.DoDraw(num)语句那样调用。程序运行的结果如前。

从以上几个例子可以看出,一个 C++程序往往由预处理命令、语句、函数、变量和对象、输入与输出以及注释等几个基本部分组成。

总之,C++将C语言作为自己的子集,并对C内容进行了许多提升和更新。其中一个最显著的特点是使用新的头文件格式以及名称空间。C++还融合了三种不同的编程模式:结构化程序设计模式、面向对象程序设计模式以及通用编程模式。

下一章将讨论C++程序中的数据类型和简单的输入/输出内容。