C++实验一 类与简单对象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津理工大学实验报告学院(系)名称:计算机与通信工程学院
测试程序会出现什么错误?为什么?如何对已有的构造函数进行适当的修改?
(4)结合第(2)和第(3)步的修改和运行结果:分析创建不同的对象时如何调用适当的构造函数?
1.
.
2.
调用一次构造函数。
3.
Coordinate p4;
Coordinate p5(2);错误,因为类没有默认的构造函数,也没有无参数的构造函数和一个参数的构造函数;
改正可为:
将Coordinate(int x1, int y1){x=x1; y=y1;} 改为Coordinate(int x1=0, int y1=0){x=x1; y=y1;}
4.系统会自动根据参数的类型和参数的个数,调用合适的函数。
2.
根据注释语句的提示实现类Date的成员函数,并将完整的程序编译、连接成功以保证程序能够正确运行。
#include
class Date{
public:
void printDate(); //显示日期
void setDay(int); //设置日的值
void setMonth(int); //设置月的值
void setYear(int); //设置年的值
3.
下面是一个计算器类的定义,请完成该类的成员函数的实现,并设计一个主函数使用该类和相关成员函数以测试
该类设计的正确性。
#include
using namespace std;
class coutner
{
public:
counter(int number); //构造函数
void increment(); //给value原值加1
void decrement(); //给value原值减1
int getvalue(); //计数器值
void print(); //显示计数
privat取得e:
int value; //数据成员
};
int main(){
... //定义counter类的几个对象并调用有关成员函数
return 0;
}
程序如下:
#include
using namespace std;
class coutner{
public:
coutner(int number):value(number) //构造函数
{}
void increment(); //给value原值加1
void decrement(); //给value原值减1
int getvalue(); //取得计数器值
using namespace std;
class ClsName {
private:
int x,y;
public:
ClsName(int a,int b)
{x=a;y=b;}
ClsName(int c)
{x=c;y=0;}
ClsName()
{x=1;y=1;}
int getx()
{return x;}
int gety()
{return y;}
void print();
};
void ClsName::print()
{
cout< } int main() { ClsName o1,o2(3),o3(4,5); o1.print(); o2.print(); o3.print(); return 0; } 运行结果: 5. 建立类cylinder,包括两个数据成员radius和height,分别表示圆柱体的半径和高度, cylinder类的 运行结果: 6. 定义一个学生类CStudent实现简单的学籍管理功能,要求该类至少实现以下功能: (1) 录入学生的基本信息(包括姓名,学号,性别,年龄,专业,入学时间,各门功课成绩) (2) 输出学生的基本信息 (3) 选课(输入时间和所选的课程) (4) 统计每门课的学分绩点 (5) 统计每学期的平均学分绩点 (6) 统计重考科目 (7) 统计重修科目 程序如下: #include #include using namespace std; class CStudent{ public: CStudent(string n,string nu ,string s,int a,string z,int y,int m,int d,int ma,int e,int cyy) //构造函数 { name=n;number=nu;sex=s;age=a;zy=z;year=y;month=m;day=d;math=ma;english=e;c=cyy; } void print() //打印出学生信息 {cout<<"姓名:"< void xuanke(); //声明选课日期,课程函数 float jsjidian(float fenshu) //由分数算绩点函数 { float jd; if(fenshu<60) jd=0; else if(60<=fenshu&&fenshu<65) jd=1; else if(65<=fenshu&&fenshu<70) jd=1.5; else if(70<=fenshu&&fenshu<75) jd=2; else if(75<=fenshu&&fenshu<80) jd=2.5;