实验二 类与对象
一.实验目的
? ? ? ? ? ? ?
学习类与对象的定义,声明和使用方法 数据成员与成员函数的访问权限 构造函数和析构函数的作用 重载成员函数
对象指针和对象数组 成员指针
静态数据成员和静态成员函数
二.实验内容
定义一个矢量类Vector,其结构如下:
? 私有数据成员double x,y; 表示二维矢量的两个分量 ? 构造函数实现初始化数据成员 ? 输出数据成员函数 void display( ); ? 类外访问数据成员函数 double getx( ); double gety( );
? 功能成员函数实现矢量加、减、乘运算, Vector Add(const Vector &ob2 ); Vector Sub(const Vector &ob2 ); double Mult(const Vector &ob2 ); (建议采用操作符重载:“+”,“-”,“*”)。
三.算法描述(或程序注解)
四.程序清单
实验三 友元
一.实验目的
? 熟练掌握友元函数的设计 ? 熟练掌握友元类的设计
二.实验内容
第Ⅰ题:基本练习
设计一个学生类CStudent,其结构如下: ? 私有数据成员Name(学生姓名)、Degree(成绩); ? 构造函数对数据成员初始化;
? 设计一个友元函数Display(CStudent&);输出成绩的等级:>=90为优秀;80~89
为良好;70~79为中等;60~69为及格;< 60为不及格; ? 输出结果如下:
姓名 成绩 等级
Mary Jack Mike John
78 93 54 88
中等 优秀 不及格 良好
第Ⅱ题:基本练习(有兴趣可以做)
设计一个学生类CStudent,其结构如下: ? 私有数据成员Name(学生姓名)、Degree(成绩)、Level[7](成绩等级); ? 构造函数对数据成员初始化;
? 设计一个CStudents的友元类CProcess,其结构包含两个成员函数:
? void Transform(CStudent& s);实现对s的数据成员Level的判断其成绩的
等级,:>=90为优秀;80~89为良好;70~79为中等;60~69为及格;< 60为不及格;
? void Display(CStudent& s)输出s成绩的等级;
? 输出结果如下:
姓名 成绩 等级
Mary Jack Mike John
78 93 54 88
中等 优秀 不及格 良好
三.算法描述(或程序注解)
四.程序清单