实验二 C++基础 实验目的 类定义;类对象使用;类成员变量、成员函数的定义和使用;观察类的组合使用;理解类的作用域;理解类的声明;理解类中 private 和 public 权限;掌握拷贝构造函数的定义和使用;掌握构造函数的重载;掌握析构函数的定义和使用;理解构造函数和析构函数的执行过程
实验过程设计.1.// 试设计一个复数类,该类有实部和虚部两个成员数据,成员数据采用私有访问权限,同时该
类有两个共有成员函数,//分别用来设置成员数据和输出成员数据,//在主函数中分别采用对象方式,指针方式和引用方式来调用该类的公有函数设置和输出成员数据。
#include #include using namespace std; class Complex{ public: void Init(double x,double y ) { a=x; b=y; } double Real(){return a;}; double Image(){return b;}; private: int a; int b; }; void main() { Complex m; m.Init(3,1); cout<<"The complex is " } /*2 .设计实现一个 CPoint 类,满足以下要求: a . 该类包含两个整型成员变量 x (横坐标)和 y (纵坐标),以及一个输出函数 Print() 用来输出横坐标和纵坐标,要求不可以在类的外部直接访问成员变量; b .可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值 0 ; c .可以采用直接输入参数的方式来初始化该类的成员变量; d .可以采用其它的 CPoint 对象来初始化该类的成员变量; e .设计一个主函数来测试以上功能。*/ #include #include using namespace std; class CPoint{ public: void print(); CPoint(){x=0;y=0;} point(int x1,int y1); // int GetX() {return x;} // int GetY() {return y;} private: int x; int y; }; void CPoint::print() { cout<} CPoint::point(int x1,int y1) { x=x1; y=y1; } void main() { CPoint p; CPoint(); p.print(); p.point(1,2); p.print(); // p.GetX(); // p.GetX(); } 3 .设计一个 CStudent (学生)类,并使 CStudent 类具有以下特点: a .该类具有学生姓名、学号、程序设计、信号处理、数据结构三门课程的成绩; b .学生全部信息由键盘输入,以提高程序的适应性; c .通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修改仍可以求取平均成绩; d .输出学生的基本信息、各科成绩与平均成绩; e .学生对象的定义采用对象数组实现; f .统计不及格学生人数。 #include #include #include #define N 3 #define M 3 class CStudent { public: void setstudent(char *name,char *sn,float score[N]); void showstudent(); private: char Sname[10]; char Sno[8]; float Score[3]; float Avg; float Sum; int count; }; void CStudent :: setstudent(char *name,char *sn,float score[N]) { int i; float Sum=0.0; int count=0; strcpy(Sname,name); strcpy(Sno,sn); for(i=0;i{ Score[i]=score[i]; count++; } for(i=0;i<3;i++) { Sum=Sum+Score[i]; } Avg=Sum/count; } void CStudent ::showstudent() { int i; cout cout<<"please input student[" #include #include #include #define N 3 #define M 3 class CStudent { public: void setstudent(char *name,char *sn,float score[N]); void showstudent(); private: char Sname[10]; char Sno[8]; float Score[3]; float Avg; float Sum; int count; }; void CStudent :: setstudent(char *name,char *sn,float score[N]) { int i; float Sum=0.0; int count=0; strcpy(Sname,name); strcpy(Sno,sn); for(i=0;i{ Score[i]=score[i]; count++; } for(i=0;i<3;i++) { Sum=Sum+Score[i]; } Avg=Sum/count; } void CStudent ::showstudent() { int i; cout