- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验2__类和对象C
实验2 类和对象(1)
班级 学号 姓名 成绩
一.实验目的
?掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;
掌握类对象的定义,对象的初始化;
理解类的成员的访问控制的含义,公有、私有和保护成员的区别;
掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数;
二.实验内容
#includeiostream.h
class one
{ int a1,a2;
public:
one(int x1=0, x2=0);
};
void main()
{one data(2,3);
coutdata.a1endl;
coutdata.a2endl;
}
2.分析以下程序的错误原因,给出修改方案使之能正确运行。
#include iostream.h
class Amplifier{
float invol,outvol;
public:
Amplifier(float vin,float vout)
{invol=vin;outvol=vout;}
float gain();
};
Amplifier::float gain() { return outvol/invol; }
void main()
{ Amplifier amp(5.0,10.0);
cout\n\nThe gain is =gain()endl;
}
3.定义盒子Box类,要求具有以下成员:可设置盒子形状;可计算盒子体积;可计算盒子的表面积。
4.定义计数器类Counter。要求具有以下成员:计数器值;可进行增值和减值记数;可提供记数值。
5.编写一个程序计算两个给定的长方形的周长和面积。
6.编写一个程序,采用一个类求n!,并输出10!的值。
7.编写一个程序,设计一个Cdate类,它应该满足下面的条件:
1)用这样的格式输出日期:日-月-年;
2)输出在当前日期上加两天后的日期;
3)设置日期。
三、实验源程序、测试与结论
1. 分析:出错原因:
构造函数one(int x1=0, x2=0);没有给x1,x2付值。(coutdata.a1endl; coutdata.a2endl;)main()函数中直接调用class one类的私有成员错误。
修改方案:
#includeiostream.h
class one
{ int a1,a2;
public:
one(int x1=0,int x2=0)
{ a1=x1; a2=x2; }
~one()
{ couta1endl;
couta2endl;
}
};
void main()
{ one data(2,3); }
测试数据截图:
2. 分析:出错原因:
Amplifier::float gain() 类体外定义格式错误,main()函数输出gain()错误。
修改方案:
#include iostream.h
class Amplifier
{
float invol,outvol;
public:
Amplifier(float vin,float vout)
{invol=vin;outvol=vout;}
float gain();
};
float Amplifier::gain() { return outvol/invol; }
void main()
{ Amplifier amp(5.0,10.0);
cout\n\nThe gain is =amp.gain()endl;
}
测试数据截图:
3.代码:
方案一:
#includeiostream
#includemath.h
#define pi 3.14159265358 //声明常量pi为π
using namespace std;
class Box //定义为box的类
{
private:
double heights; //若干成员
double widths;
double lengths;
double area;
public:
void create_data(double length,double height,double width=0) //数据创建函数
{
heights=height;
widths=width;
lengths=length;
}
double creat_area(int n) //底面积函数
{ are
您可能关注的文档
- 实用英语第一册第八单元课件.ppt
- 实用英语第一册第七单元说课.ppt
- 实用英语综合教程Live in Tianjin.ppt
- 实用英语综合教程1-Unit2 Friendship.ppt
- 实用英语2Session 2.ppt
- 实用英语语法讲义Lecture1-3.doc
- 实用英语语法专项训练及模拟试题综合1.doc
- 实用英语翻译10 movie translation.ppt
- 实用英语语音练习册.doc
- 实用英语PE1_U03_Text A.ppt
- 2026年刑法知识考试题库200道及答案【最新】.docx
- 2026年刑法知识考试题库200道及答案【夺冠系列】.docx
- 2026年刑法知识考试题库200道含答案(培优).docx
- 2026年马原考试题库300道及参考答案【考试直接用】.docx
- 2026年马原考试题库300道及答案【夺冠】.docx
- 2026年刑法知识考试题库200道及参考答案(实用).docx
- 2026年期货从业资格之期货法律法规考试题库500道及完整答案1套.docx
- 2026年刑法知识考试题库200道带答案(夺分金卷).docx
- 2026年二级造价师考试题库500道附答案(研优卷).docx
- 2026年投资项目管理师考试题库500道含完整答案(典优).docx
文档评论(0)