OOP_由C到C++ (2)

为了解决这个问题,在主函数中需要对被调用函数作声明。上面的程序可以改写如下:

#include <iostream> using namespace std; int max(int x,int y); //对max函数作声明 int main( ) { int a,b,c; cin>>a>>b; c=max(a,b); //调用max函数例1.3 给两个数x和y, 求两数中的大者。 cout<<″max=″<<c<<endl; return 0; } int max(int x,int y) //定义max函数 { int z; if(x>y) z=x; else z=y; return(z); }

只要在被调用函数的首部的末尾加一个分号,就成为对该函数的函数声明。函数声明的位置应当在函数调用之前。

C++程序的结构特性

一个面向对象的C++程序一般由类的声明类的使用两大部分组成。

类的使用部分一般由主函数及有关子函数组成。

典型的C++程序结构 #include <iostream.h> //类的声明部分 class A{ int x,y,z; …… fun( ){……} …… }; //类的使用部分 int main() { A a; …… a.fun(); return 0; }

在C++程序中,程序设计始终围绕“类”展开。通过声明类,构建了程序所要完成的功能,体现了面向对象程序设计的思想。

C++程序的编辑、编译和运行

C++源程序文件的扩展名为.CPP

可以用多种编译器编辑、编译和运行

C++对C的补充 1. 注释与续行

注释符:“/*”和“*/” 或“//” 。

Cpp新增了注释语句,它由“//”开始,到行尾结束。
例如:

X = y + z; /*This is a comment */ X = y + z; //This is a comment

续行符:“”(反斜杠)。作用是当一个语句太长时可以用该符号把它分段写在几行中。
例:

cout << ‘\n’ << “x=” << x << “y=” << y << “z=” << z\ << “u=” << u << “v\ =” << v << “w=” << w << endl; 2. 输入输出流

C中I/O操作出现的问题:

int i; float f; scanf(“%f”,i); printf( “%d”,d);

Cpp中使用更安全更方便的方法:

int i; float f; cin >> i; cout << f;

cout和cin分别是C++的标准输出流和输入流。 Cpp支持重定向,但一般cout指的是屏幕, cin指的是键盘。

操作符“<<”和“>>”除了具有C语言中定义的左移和右移的功能外,在这里符号“<<”是把右方的参数写到标准输出流cout中;相反,符号“>>”则是将标准输入流的数据赋给右方的变量。

例1.4 一个完整的C++程序 #include <iostream.h> int main() { char name[20]; cout << "Hello, your name: "; cin >> name; cout << name; return 0; }

注意:

程序中必须包含头文件iostream.h

cin和>>,cout和<<配套使用

cin可以输入多个数据,但要用空白符隔开(tab,空格,回车)

如: cin >> a >> b >> c;

换行符:‘\n’或endl

如: cout << “x=” << x << endl; cout << “x=” << x << ‘\n’;

使用cout和cin时,也可以对输入和输出的格式进行控制,比如可用不同的进制方式显示数据,只要设置转换基数的操作符dec、hex和oct即可。

例1.5 操作符dec、 hex和oct的使用 #include<iostream.h> void main() { int x=25; cout << hex << x << ' ' << dec << x << ' ' << oct << x << '\n'; }

输出结果为: 19 25 31

3. 灵活的变量说明 定义变量的位置

在程序中的不同位置采用不同的变量定义方式,决定了该变量具有不同的特点。变量的定义一般可有以下三种位置:

在函数体内部

在函数体内部定义的变量称为局部变量,这种局部变量只在进入定义它的函数体时起作用,离开该函数体后该变量就消失(被释放),即不再起作用。因此,不同函数体内部可以定义相同名称的变量,而互不干扰。

形式参数

当定义一个有参函数时,函数名后面括号内的变量,统称为形式参数。

全局变量

在所有函数体外部定义的变量,其作用范围是整个程序,并在整个程序运行期间有效。

在C语言中,全局变量声明必须在任何函数之前,局部变量必须集中在可执行语句之前。

Cpp中的变量声明非常灵活,它允许变量声明与可执行语句在程序中交替出现。
例如

f( ) { int i; i=10; int j; j=25; // … } float fun(int x,int y) { for(int i=0;i<10;i++) { int sum=0; sum=sum+i; cout<<“sum=”<<sum; } int z=0; z=x+y; } 4. 结构、联合和枚举名

在C++中,结构名、联合名、枚举名都是类型名。在定义变量时,不必在结构名、联合名或枚举名前冠以struct、union或enum。

例如:

enum boole{FALSE,TRUE}; struct string{ char *string; int length; }; union number{ int i; float f; };

在传统的C中,定义变量时,必须写成:

enum boole done; struct string str; union number x;

但是,在C++中,可以说明为:

boole done; string str; number x; 5. 函数原型

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzsgy.html