- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
南昌航空大学实验报告
2011年12月11日
课程名称: 面向对象程序设计B 实验名称:动态链接库的制作与调用(多项式矩阵定义)
班级:102022 姓名:林书晨 指导老师评定: 签名:
实验目的
综合运用所学面向对象编程知识完成动态链接库文件的创建,调用,理解动态链接库的工作原理,议会声明和定义封开方法在程序设计中的优势,掌握利用动态链接库实现不同开发平台间混合变成的方法,掌握利用动态链接库实现代码可复用技术,进一步掌握混合开发的方法。
实验内容
综合运用所学面向对象编程知识定义一个多项式矩阵类并应用该类实现多项式矩阵类的运算。具体实现该矩阵的加法(采用运算符“+”重载).转置(采用运算符“—”重载)及输出(采用运算符““重载)操作。将该类制作作为动态链接库。然后在其他工程中对该动态链接库进行调用。
以上内容为恋歌学时的内容,同学们重点注意构件顺序与方法以及动态链接库的调用方法,接下来的连年改革学士需要同学们自行设计多项类的设计以及该类动态链接库的设计,并在工程内实现该dll的调用。
Class matrix
{
Public:
Matrix(int a,int b);
~matrix();
Void set();
Matrix operator +(matrix );
Matrix operator -(int);
_declspec(dllexport) friend ostream operator (ostream out,matrix s);
Private:
int i,int j;
int *m;
};
概要设计
Class matrix
{
Public:
Matric(it a,int b);//声明构造函数
~matrix();//声明析构函数
Viod set();//声明自定义的构造函数
Matrix oprator +(matrix );//声明重载”+“运算符的函数
Matrix oprator -(int );//声明”-“运算符的函数
_declspec(dllexport) friend ostream operator (ostream out,matrix s);声明友员”〈〈“运算符函数
Private:
Int i,j;//声明数组的大小的变量
Int *m;
}
详细设计
//头文件matrix.h
#ifndef Matrix_H
#define Matrix_H
#ifdef DLL_FILE
Class__declspec(dllexport) matrix
#else
Class__declspec(dllexport) matrix
#end if
{
Public:
Matrix(it a,int b);//声明构造函数
~matrix();//声明析构函数
Viod set();//声明自定义的构造函数
Matrix operator +(matrix );//声明重载”+“运算符的函数
Matrix operator -(int );//声明”-“运算符的函数
_declspec(dllexport) friend ostream operator (ostream out,matrix s);声明友员”〈〈“运算符函数
Private:
Int i,j;//声明数组的大小的变量
Int *m;
}
#end if
//matrix.cpp
#ifdef DLL_FILE
#define DLL_FILE
#end if
#includeiostream.h
#includematrix.h
Matrix::matrix(it a,int b)//定义构造函数
{
i=a;
J=b;
M =new int[i*j];
For (int k=0;ki;k++)
For(int l=0;ij;l++)
M[k*j+l];
}
Matrix::~matrix(VIOD)//定义析构函数
{
DELETE{}M;
}
Void matrix::set()//定义自定义的构造函数
{
ContPlease input the data of Matrixendl;
For (int k+0;ki;k++)
For(int l=0;lj;l++)
Cinm[k*j+l];
}
Matrix matrix::operator -(matrix s)//定义重载“+”运算符的函数
{
matrix n()s.i,s.j);
For(int k=0;ki;k++)
For (int l=0;lj;l++)
文档评论(0)