今日完成题目:函数
[实验任务四]:形状类post
【问题描述】学习
定义shape类,无数据成员,包含两个纯虚函数成员void setvalues() 和float area() ,由shape类进行派生以下:指针
矩形类,包含两个数据成员变量用于描述底和高,均为float类型,从新定义上述两个纯虚函数成员,完成数据成员值的设定和面积的计算;对象
三角形类,包含两个数据成员变量用于描述底和高,均为float类型,从新定义上述两个纯虚函数成员,完成数据成员值的设定和面积的计算;get
正方形类,包含一个数据成员变量用于描述边长,float类型,从新定义上述两个纯虚函数成员,完成数据成员值的设定和面积的计算;string
圆形类,包含一个数据成员变量用于描述半径,float类型,从新定义上述两个纯虚函数成员,完成数据成员值的设定和面积的计算;变量
在主函数中定义相应的指针对象和普通对象,利用虚函数实现多态,依次分别输入矩形的底和高,三角形的底和高,正方形的边长,圆形的半径,若其中任何一个值小于等于0,则输出Set Value Error!,而后退出程序,对于以前已正确输入的数值计算相应形状的面积。构造函数
【问题描述】定义描述学生的student类,包含受保护两个数据成员,分辨是描述姓名的,string类型和描述学号的,int类型,构造函数有两个形参,用于设定这两个数据成员的值,此外包含6个成员函数,用于设定姓名和学号的函数,void setnameid(), 用于显示姓名和学号的函数void displaynameid(),以及四个纯虚函数void setmajor() ,string getmajor() , void setadvisor() 和 string getadvisor();float
由学生类派生本科生类understud,新增受保护数据成员,描述专业,string类型,构造函数具备三个形参,从新定义函数void setmajor() 和string getmajor(),用于设置专业和获取专业;
由本科生类派生研究生类poststud,新增私有数据成员,描述导师姓名,string类型,构造函数具备四个形参,且具备缺省值,学生姓名缺省值为“***”,学号缺省值为-1,专业缺省值为“###”,导师姓名缺省值为“&&&”,从新定义函数void setadvisor() 和 string getadvisor(),用于设置导师属性和获取导师属性值;
在主函数中定义相应的指针对象和普通对象,请问能够定义哪些(哪一个)类的普通对象,为何(在实验报告中回答),定义开关变量,int型,经过输入进行赋值,若该值为0,则输出研究生对象的默认属性值,若非零,则依次输入姓名、学号、专业和导师信息,并依次打印出来。
明天要学习对文件操做