c++实验报告(3)

2019-04-23 12:29

2)利用多文件结构实现题目1),在头文件client.h中定义类,在文件client.cpp中实现该类,在文件test.cpp 中测试这个类,观察相应的成员变量取值的变化情况,要求ClientNum能够实时记录客户机对象的数量。 //Client.h: class CLIENT{ public:

CLIENT(){ClientNum++;} void showname(); static ChangServerName(); ~CLIENT(){ClientNum--;} private: static char ServerName; static int ClientNum; };

//Client.cpp:

#include\#include using namespace std; int CLIENT::ClientNum=0;

char CLIENT::ServerName='m'; void CLIENT::showname(){

cout<<\已定义的客户数量为:\ }

CLIENT:: ChangServerName(){ char newName; cout<<\请输入新名字:\ cin>>newName;

ServerName=newName;

cout<<\改变后的名字为:\ ClientNum++; }

//test.cpp:

#include\#include using namespace std; int main(){ CLIENT a; a.showname(); a.ChangServerName(); CLIENT b(a); b.showname(); b.ChangServerName();

return 0; }

运行结果相同,只是写成了多文件形式

3)思考并回答以下概念: 类的静态数据成员,类的静态函数成员,多文件结构,文件包含。 类的静态数据成员:如果某个属性为整个类所共有,不属于任何一个具体对象,则采用static关键字来声明为静态数据成员。

类的静态函数成员:就是使用static关键字声明的函数成员,静态成员函数也属于整个类,由同一个类的所有对象共同拥有,为这些类所共享。

多文件结构:在规模较大的项目中,往往需要多个源程序文件,每个源程序文件成为一个编译单元,可以通过不同的文件实现要求。 文件包含:一个文件包含在另一个文件当中。

实验三

1) 编写一个类用于处理3×3矩阵转置,测试转置的效果,输出转置前后的矩阵。 #include using namespace std; class Matrix {

public: Matrix(int a1[3][3]) { for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { a[i][j]=a1[i][j]; } } } void change(Matrix &m1); void output(); private: int a[3][3]; };

void Matrix::change(Matrix &m1) { for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { m1.a[j][i]=a[i][j];

} } }

void Matrix::output() { for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { cout<

void main() { }

cout<<\原来的矩阵是:\int a[3][3]={1,2,3,4,5,6,7,8,9},b[3][3]; Matrix m(a); Matrix m1(b); m.output(); cout<

cout<<\转置后的矩阵为:\m.change(m1); m1.output();

//2) 定义一个具有构造函数和析构函数的类,如实验一的CPU类,定义一个CPU的对象数组,观察构造函数的析构函数的调用过程。 #include using namespace std;

enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}; class CPU {

private:

CPU_Rank rank; int frequency; float voltage; public:

CPU(int newrank,int newfrequency,float newvoltage); void run(); void stop();

~CPU(){cout<<\成功调用析构函数\};

void CPU::run() {

cout<<\程序开始执行\ }

void CPU::stop() {

cout<<\程序结束\}

CPU::CPU(int newrank,int newfrequency,float newvoltage) {

rank=(CPU_Rank)newrank; frequency=newfrequency; voltage=newvoltage;

cout<<\成功调用构造函数\cout<<\等级:\cout<<\频率:\cout<<\电压:\}

int main() {

CPU c1(2,60,220); CPU c[2]; for(int i=0;i<2;i++) { c[i].run(); c[i].stop();

}

cout<<\成功运用对象数组\ return 0; }

3)利用动态内存分配的方式重新完成题目2)。

#include using namespace std;

enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7}; class CPU {

public : CPU(int r){cout<

cout<<\第\次调用构造函数\ i++; }

void run(); void stop(); ~CPU() { static int i=1; cout<<\第\次调用构造函数\


c++实验报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:湘教版四年级美术上册知识点复习

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: