程序设计是指设计、编写和调试程序的方法与过程。由于程序是软件的本体,因此软件的质量主要通过程序的质量体现,因此,研究一种切实可行的程序设计方法至关重要。继承是面向对象程序设计方法的一个重要标志,利用继承机制可以大大提高程序的可重用性和可扩充性。......
2023-11-07
C++是一种编译性的语言,设计好一个C++源程序后,需要经过编译、连接,生成可执行的程序文件,然后执行并调试程序。C++程序的开发步骤如下:
(1)分析问题。根据实际问题,分析需求,确定解决方法,并用适当的工具描述它(包括选用适当的数学模型)。通常先可用自然语言或流程图的方式描述解决问题的算法。
所谓算法是一个有限规则的有序集合。这些规则确定了解决某一类问题的一个运算序列。对于某一类问题的任何初始输入,它能机械地一步一步地计算,通过有限步之后计算终止,并产生一个输出。
在求解问题的算法设计好后,就可以转换成对应的C++程序。
(2)编辑程序。当C++源程序设计好后,程序员利用一个编辑系统将源程序输入计算机中的某一个文件中,并进行必要的修改。C++源程序文件的扩展名为.cpp。一个好的C++编译系统对于设计C++程序是十分重要的,目前主流的C++编译系统有Visual Studio,Visual C++6.0及Dev-C++等,本书选用Visual C++6.0(本书简写为VC++6.0)作为C++程序设计环境。
(3)编译程序。编译系统将C++程序翻译为机器语言代码(也称为目标码)。这是一个复杂的过程,首先预处理是在编辑系统翻译阶段开始之前自动执行的,它将一些预处理命令(例如#include<iostream.h>)用对应的文本文件进行替换(例如,用iostream.h文件的内容替换#include<iostream.h>命令),然后将预处理后的C++程序翻译为机器语言代码并进行优化。C++目标文件的扩展名为.obj(二进制文件)。(www.chuimin.cn)
(4)连接程序。C++程序常常调用其他地方定义的函数,如标准库中或特定项目的程序员使用的专用库,连接器将目标代码与这些函数的代码连接起来,产生一个可执行文件,其扩展名为.exe。
(5)运行调试程序。运行可执行文件,分析运行结果。若有错误进行调试修改。
在VC++6.0环境中,编译和连接两个步骤是由系统本身一次完成的。完整的C++程序的开发步骤如图1.2所示。
图1.2 C++程序开发步骤
有关C++程序设计基础教程的文章
程序设计是指设计、编写和调试程序的方法与过程。由于程序是软件的本体,因此软件的质量主要通过程序的质量体现,因此,研究一种切实可行的程序设计方法至关重要。继承是面向对象程序设计方法的一个重要标志,利用继承机制可以大大提高程序的可重用性和可扩充性。......
2023-11-07
声明函数模板的一般格式如下:template<模板参数表>函数返回值类型函数模板名(形参表)函数模板定义由关键字template开头,表示声明一个模板。模板参数表写在尖括号<>中,参数一般由关键字class或typename后加一个标识符构成。Class和typename的意义相同,表示后面的标识符是一个参数类型,代表一个潜在的标准类型或用户定义的类型。例如,定义max函数模板求两个数中的较大者。如下面的声明是错误的:可以看出,用函数模板比函数重载更方便,程序更简洁。......
2023-11-07
在类声明中,public、private和protected是关键字,称为成员访问限定符,它们分别表示公有、私有和保护的成员访问权限。其他函数不能访问该类的保护数据成员,也不能调用该类的保护成员函数。◇一旦给出了成员访问限定符,它后面的成员都具有这个成员访问权限,直到出现另一个成员访问限定符或类声明结束为止。类的成员函数可以访问类的所有成员,没有任何限制,而类的对象对类的成员的访问是受成员访问控制符制约的。......
2023-11-07
多态从实现的角度来讲可以划分为两类:编译时的多态和运行时的多态。按照绑定进行阶段的不同,可以分为两种不同的绑定方法:静态绑定和动态绑定,这两种绑定过程中分别对应着多态的两种实现方式。有些多态类型,其同名操作的具体对象能够在编译、连接阶段确定,通过静态绑定解决,比如重载、强制和参数多态。包含多态操作对象的确定就是通过动态绑定完成的。分析以下程序的执行结果。......
2023-11-07
类的每一个成员函数都有一个隐含的特殊指针,通常称为this指针,this指针的类型就是成员函数所属的类型。通常不显式使用this指针。this指针是C++实现封装的一种机制,它将对象和该对象调用的成员函数连接在一起,在外部看来,每个对象都拥有自己的成员函数。this指针一般用于返回当前对象自身。程序的执行结果如下:s1∶n=2s2∶n=1s3∶n=3this指针大量用于运算符重载成员函数设计中,这将在后面详细介绍。......
2023-11-07
图2.3对象stu1和stu2实际上,类Student的所有成员函数放在公用区中,每个函数代码有一个地址,类Student的每个对象中只存放自己的数据成员值和指向公共区中对应函数的地址,也就是说,类的成员函数是共享的,如图2.4所示,这种对象的存储空间分配方式不仅节省了存储空间,而且各个对象的数据成员分别存放,互不相干。......
2023-11-07
throw、try和catch语句的一般语法如下:throw表达式;异常处理的执行过程如下:程序通过正常的顺序执行到达try语句块,然后执行try块内受保护的语句。对于fun语句,其捕获异常的过程是相似的。只要找到一个匹配的异常类型,后面的异常处理都将被忽略。......
2023-11-07
所以有时将静态数据成员称为类变量,使用静态数据成员可以节省内存空间。静态数据成员可由任意访问权限许可的函数访问。因为静态数据成员不从属于任何一个具体对象,所以必须对它初始化,而且对它的初始化不能在构造函数中进行。解:本程序的执行结果如下:s=12s=17s=35从上述执行结果可以看到,类MyClass1中静态数据成员s不是属于某个对象a、b或c,而是属于所有的对象。......
2023-11-07
相关推荐