cout << \
cout << \ int x = 10, y = 20;
cout << \ cout << \
cout << \ fn1();
cout << \ cout << \ cout << \ return 0; } void fn1() {
int x=-1,y=-2; cout<<”x=”< 2.新建一个空的项目lab5_2,添加头文件Point.h,在其中定义类Point;再添加源程序文件Point.cpp,在其中实现Point类,并练习使用静态成员变量;再添加文件lab5_2.cpp,在其中定义main()函数,测试Point类。注意多文件情况下头文件的相互包含关系(试着依次注释掉头文件,编译看看出现什么结果;考虑是否有其他的添加头文件的方式,并比较其异同),观察相应的成员变量取值的变化情况。示例项目lab5_2代码如下: //Point.h class Point { private: int X,Y; public: Point(int xx=0,int yy=0); Point(Point &p); 25 int GetX(){ return X;} int GetY(){ return Y;} }; //Point.cpp #include \#include X=xx; Y=yy; } Point::Point(Point &p) { X=p.X; Y=p.Y; cout<<\拷贝构造函数被调用\} //lab5_2.cpp #include \#include Point A(4,5); Point B(A); cout< 3.示例程序 #include class Cat { public: Cat(){NumOfCats++; } ~Cat(){ NumOfCats--; } static int GetNumOfCats() { return NumOfCats; } static int NumOfCats; 26 }; int Cat::NumOfCats = 0; int main() { Cat c1,c2; cout< 4.示例程序 #include public: Boat(int iWeight) { weight = iWeight ; } private: float weight ; friend float addw(Boat boat,Car car); }; class Car { public: Car(int iWeight) { weight = iWeight ; } private: float weight ; friend float addw(Boat boat,Car car); }; float addw(Boat boat,Car car) { return boat.weight + car.weight ; 27 } void main() { Boat boat(5); Car car(10); float weight = addw(boat,car); cout< 实验六 数组、指针与字符串 一、实验目的 1.学习使用数组。 2.学习字符串数据的组织和处理。 3.学习标准C++库的使用。 4.掌握指针的基本使用方法。 5.练习通过debug观察指针的内容及其所指的对象的内容。 6.练习使用new动态分配内存定义数组,并体会指针在其中的作用。7.分别使用字符数组和标准C++库练习处理字符串的方法。 二、实验课时 4学时 28 三、实验任务 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用new动态分配内存生成数组来实现上题中函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,实现两个字符串的比较、连接等功能。 四、实验步骤 1.编写矩阵转置函数,输入参数为3*3整型数组,使用循环语句实现矩阵元素的行与列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main函数实现输入、输出。并使用debug对跟踪数组的值。示例程序lab6_1.cpp代码如下: #include void move (int matrix[3][3]) { int i, j, k; for(i=0; i<3; i++) for (j=0; j void main() { int i, j; int data[3][3]; cout << \输入矩阵的元素\ for(i=0; i<3; i++) for (j=0; j<3; j++) { cout << \第\行第\ 29