3.1 基于类的软件复用技术

  C++中的类库技术是软件复用的基础,在软件开发过程中,程序员通过调用类库中的函数可以达到软件复用的目的。比如,调用C++类库中的输入输出流函数可以实现输入输出的功能。如下:

#include<iostream>

#include<string>

int main{

string in_string;

cout<<“please enter your name”; 论文网 http://www.lw54.com

cin>>in_string;

if(in_string.empty())

cerr<<”error:input string is empty!n”;

else cout<<”hello,”<<in_string<<”!n”;

}

3.2 基于继承特性和派生类的软件复用技术

  C++语言中,通过其继承特性,可以在原有的类的基础之上生成新的类,原有的类我们称之为基类,新生成的类我们称之为派生类。继承技术是C++语言的一个重要特性,也是实现软件复用的一种重要技术。利用继承技术派生出新类时,我们不需要完全重新开始写代码,每一个派生类都继承了基类的数据成员和成员函数,派生类只需要编写出与基类行为不同的扩展特性即可,因此它大大简化了程序量,提高了工作效率。另外,在派生类的基础之上,我们还可以进一步设计新的派生类,由此可见,派生类的设计可以实现树形发展。继承关系图如下所示:


        图一 继承关系图

基类和派生类的定义如下:

class Base {

public:

foo( int );

// ...

protected:

int _bar;

double _foo_bar;

};

class Derived : public Base {

public:

foo( string ); 作文 http://www.lw54.com/zuowen/

bool bar( Base *pb );

void foobar();

// ..

protected:

string _bar;

};


简历大全 http://www.lw54.com/html/jianli/


3.3 基于多态特性的软件复用技术

  多态特性是C++语言的一种重要属性,利用C++的多态属性,可以很好的实现软件复用。概况来说,多态特性主要从三个方面来实现软件复用,分别为:运算符重载、函数重载和虚函数技术。其中前面两个属于静态多态特性,而后面一个属于动态多态特性。下面分别就几种多态技术进行介绍:

  (1)C++中自带的运算符只针对某些数据类型适用,对某些数据类型是不适用的,为了扩大运算符的适用范围,提出了运算符的重载。运算符重载就是对已有的运算符进行重新定义,赋予其另一种功能,从而适应不同的数据类型。进行运算符重载的关键是要准确理解运算符的定义,从而把原来的运算符变换为一个运算符函数,进而进行调用,运算符重载的实例如:

complex operator+(complex c1,c2)

{ complex result(0,0);

result.setreal(c1.getreal()+c2getreal());

result.setimaginary(c1.getimaginary()+c2.getimaginary());

return result;

}

  上面实例实现了对加法运算符的重载,C++中自带的加法运算符不能直接进行复数的加法,通过重载,可以进行复数的相加。

  (2)函数重载所谓函数重载是指同一个函数名可以对应着多个函数的实现。例如,可以给函数名max()定义多个函数实现,该函数的功能是求两个数中较大的数,一个函数实现是求两个int型数中较大的数,另一个实现是求两个浮点型数中两个较大的数,后面两个函数对应的参数不是两个。每种实现对应着一个函数体,这些函数的名字相同,但是函数的参数的类型或者参数的个数不同。



本论文来自http://www.lw54.com原文链接:http://www.lw54.com/20140206/2112935.html?d