C++面向对象实训报告

合集下载

面向对象的实验报告

面向对象的实验报告

一、实验目的1. 理解面向对象编程的基本概念,如类、对象、继承、封装、多态等。

2. 掌握面向对象编程的基本语法和常用操作。

3. 通过实验加深对面向对象编程的理解和应用。

二、实验环境1. 操作系统:Windows 102. 开发工具:Visual Studio 20193. 编程语言:C#三、实验内容1. 定义一个简单的类,并创建对象实例。

2. 在类中定义属性和方法,并演示其使用。

3. 使用继承实现类的扩展。

4. 使用封装保护类的内部数据。

5. 使用多态演示不同对象间的动态类型转换。

四、实验步骤1. 定义一个名为“Person”的类,包含以下属性和方法:- 属性:姓名(Name)、年龄(Age)、性别(Gender)- 方法:打印个人信息(PrintInfo)2. 创建“Person”类的对象实例,并演示属性和方法的使用。

3. 定义一个名为“Student”的类,继承自“Person”类,并添加以下属性和方法: - 属性:学号(StudentID)- 方法:打印学生信息(PrintStudentInfo)4. 创建“Student”类的对象实例,并演示属性和方法的使用。

5. 定义一个名为“Employee”的类,继承自“Person”类,并添加以下属性和方法:- 属性:工号(EmployeeID)、职位(Position)- 方法:打印员工信息(PrintEmployeeInfo)6. 创建“Employee”类的对象实例,并演示属性和方法的使用。

7. 定义一个名为“Manager”的类,继承自“Employee”类,并添加以下属性和方法:- 属性:部门(Department)- 方法:打印经理信息(PrintManagerInfo)8. 创建“Manager”类的对象实例,并演示属性和方法的使用。

9. 使用多态演示不同对象间的动态类型转换。

五、实验结果与分析1. 创建“Person”类和对象实例,并演示属性和方法的使用。

面向对象实习报告(共5篇)

面向对象实习报告(共5篇)

面向对象实习报告(共5篇)第1篇:面向对象实习报告实习题目一1.三个自定义类本题有三个自定义的类:点类VecPosition,圆类circle,矩形类Rect,运用类的继承思想从这三个类中抽象出公共基类base。

其中base中有一个纯虚函数virtual void draw()=0; VecPosition类主要实现各个运算符的点的构造,运算符的重载,求两点距离,判断一个点是否在给定其他几个点的范围内,以及与向量有关的几何运算。

Circle类主要实现圆对象的构造,圆的相关参数设置,求取圆的周长函数(doubleCircle::getCircumference())、面积函数(double Circle::getArea()),判断一个点是否在圆内bool Circle::isInside(VecPosition pos),求两个圆交点函数int Circle::getIntersectionPoints(Circle c,VecPosition *p1,VecPosition *p2)返回加点个数。

求两个圆的相交面积double Circle::getIntersectionArea(Circle c)。

矩形由左上点坐标和右下点坐标确定。

包括矩形的构造,参数的设置修改,求矩形的面积,周长,以及判断一个点是否在矩形内。

2.可视化界面建立单文档工程,添加画图菜单,如下图:三个菜单项分别画点,画线,画矩形。

在view.h中添加如下变量:CPoint类的 m_oldpt,m_pt用于记录画图的起点坐标和终点坐标。

Circle m_circle,Rect m_rect,用于构造圆和矩形。

afx_msg voidOnLButtonDown(UINT nFlags, CPoint point)是响应鼠标按下的消息,并将当前坐标传给m_oldPoint。

用switch分支控制画图种类,在view类中加入变量i,添加三个菜单消息响应函数,对i进行赋值;当点击菜单项“点”时,i=0;当点击菜单项“圆” 时,i=1;当点击菜单项“矩形”时,i=2;在view中添加void C实º习一View::OnLButtonUp(UINT nFlags, CPoint point)用来响应鼠标左键弹起消息。

面向对象实习报告

面向对象实习报告

面向对象实习报告一、前言随着信息技术的不断发展,软件行业已经成为了一个充满活力和机遇的领域。

作为一名计算机专业的学生,我深知实践经验对于自己未来的发展至关重要。

因此,在大学期间的实习过程中,我积极选择了面向对象的实习项目,以期提升自己的专业技能和团队协作能力。

二、实习单位与岗位本次实习我选择了某知名软件企业,担任软件开发实习生岗位。

实习期间,我主要负责参与项目开发,与团队成员一起分析需求、设计方案、编写代码和测试软件。

三、实习内容1. 需求分析:在项目开始阶段,我们与项目经理和客户进行沟通,了解项目的需求和目标。

通过分析用户需求,我们确定了项目的功能模块和关键技术。

2. 设计方案:在需求分析的基础上,我们团队进行了详细的设计方案。

我负责编写部分模块的详细设计文档,包括类图、序列图等。

3. 编码实现:根据设计文档,我开始编写代码。

在编码过程中,我遵循面向对象的原则,尽量使代码具有良好的可读性和可维护性。

同时,我学会了使用团队开发的工具和框架,提高了自己的编程效率。

4. 软件测试:在代码完成后,我参与了软件测试工作。

通过编写测试用例和执行测试,我发现并修复了一些bug,保证了软件的质量。

5. 团队协作:在实习期间,我深刻体会到了团队协作的重要性。

我们团队定期进行会议,讨论进度和问题。

通过与团队成员的交流,我学到了很多新的技术和思路。

四、实习收获1. 技术提升:通过本次实习,我掌握了许多面向对象编程的技术,如类、对象、封装、继承、多态等。

同时,我学会了使用UML工具进行软件设计,提高了自己的软件开发能力。

2. 团队协作:在实习过程中,我学会了如何与团队成员进行有效沟通,共同解决问题。

通过团队协作,我体会到了团队精神的重要性。

3. 时间管理:在项目开发过程中,我学会了如何合理安排时间,提高自己的工作效率。

通过按时完成任务,我培养了自己的责任感和紧迫感。

4. 职业素养:在实习过程中,我注重培养自己的职业素养,遵守公司规章制度,尊重同事,诚实守信。

面向对象实训感想总结报告

面向对象实训感想总结报告

一、实训背景随着计算机科学技术的不断发展,面向对象编程已经成为现代软件开发的主流方法。

为了更好地掌握面向对象编程技术,提高自己的编程能力,我在本学期参加了面向对象实训课程。

通过这段时间的学习和实践,我对面向对象编程有了更深入的了解,以下是我对本次实训的感想总结。

二、实训内容本次实训主要围绕面向对象编程的核心概念展开,包括面向对象思想、封装、继承、多态等。

具体内容包括:1. 面向对象思想:通过学习面向对象思想,我明白了将现实世界中的事物抽象为对象,并通过对象之间的交互来实现程序功能的方法。

这种方法使得编程更加贴近现实,提高了代码的可读性和可维护性。

2. 封装:封装是将对象的属性和方法封装在一起,对外提供统一的接口。

通过封装,可以隐藏对象的内部实现细节,提高代码的安全性。

3. 继承:继承是面向对象编程的一个重要特性,它允许一个类继承另一个类的属性和方法。

通过继承,可以复用代码,提高代码的复用性。

4. 多态:多态是面向对象编程的另一个重要特性,它允许一个接口调用多个不同的实现。

通过多态,可以降低代码的耦合度,提高代码的灵活性。

三、实训过程在实训过程中,我按照以下步骤进行学习:1. 理论学习:通过阅读教材、观看教学视频等方式,系统地学习了面向对象编程的相关知识。

2. 编程实践:根据实训要求,完成了一系列编程任务,如编写简单的面向对象程序、实现类的继承和多态等。

3. 小组讨论:与同学们一起讨论编程过程中遇到的问题,共同解决难题。

4. 上机练习:在实验室进行上机练习,巩固所学知识。

四、实训收获通过本次实训,我收获颇丰:1. 提高了编程能力:通过实践,我熟练掌握了面向对象编程的相关技术,能够独立完成一些简单的面向对象程序。

2. 深入理解面向对象思想:通过学习面向对象思想,我明白了如何将现实世界中的事物抽象为对象,并通过对象之间的交互来实现程序功能。

3. 培养了团队合作精神:在小组讨论和上机练习过程中,我与同学们互相学习、互相帮助,共同解决问题。

面向对象程序设计实训报告总结

面向对象程序设计实训报告总结

面向对象程序设计实训报告总结面向对象程序设计是计算机科学与技术领域中重要的编程范式之一。

通过面向对象的思想,我们可以将问题分解为若干个对象,并通过对象之间的交互来解决问题。

在本次面向对象程序设计实训中,我学到了许多关于面向对象编程的知识和技能。

首先,我学会了如何定义类和创建对象。

在面向对象编程中,类是一种抽象的数据类型,用于定义对象的属性和行为。

通过定义类,我们可以创建多个对象,每个对象都有自己的属性值和方法。

在实训中,我通过定义各种类,如学生类、教师类等,来模拟一个学校管理系统。

这样,我可以根据需要实例化多个学生对象或教师对象,并对其进行操作。

其次,我学会了如何使用继承和多态。

继承是面向对象编程中的一种重要机制,通过继承,一个类可以从另一个类继承属性和方法。

在实训中,我通过创建一个基础的人类,然后从人类派生出学生类和教师类。

这样,学生类和教师类可以继承人类的属性和方法,并可以添加自己特有的属性和方法。

多态是指同一类对象在不同情况下会表现出不同的行为。

在实训中,我通过多态的方法来实现不同对象的相同方法,但具体执行的代码不同。

此外,我还学会了如何使用封装和抽象。

封装是指将对象的属性和方法封装在一起,只暴露必要的接口给外部使用。

通过封装,我们可以隐藏对象的内部细节,提高代码的安全性和可维护性。

在实训中,我使用了私有属性和公有方法来实现封装。

抽象是指将具有相同属性和行为的对象进行归类,提取出共同的特征,形成一个抽象的类。

在实训中,我通过抽象出人类作为基类,来实现学生类和教师类的继承。

总的来说,通过本次面向对象程序设计实训,我对面向对象编程有了更深入的理解。

我学会了如何定义类和创建对象,使用继承和多态,以及如何使用封装和抽象。

这些知识和技能将对我未来的编程工作有很大帮助。

我相信通过不断的实践和学习,我可以进一步提高自己的面向对象编程能力。

面向对象课程实训总结报告

面向对象课程实训总结报告

一、前言面向对象编程(Object-Oriented Programming,OOP)是当今软件开发领域的主流编程范式,具有封装、继承、多态等特点。

为了提高我们的编程能力和面向对象思维能力,本学期我们进行了面向对象课程的实训。

以下是我对本次实训的总结报告。

二、实训内容1. 实训目标本次实训旨在帮助我们:(1)掌握面向对象编程的基本概念、原则和设计模式;(2)学会使用面向对象编程语言(如Java、C++等)进行编程;(3)提高编程能力和面向对象思维能力;(4)培养团队协作和沟通能力。

2. 实训过程本次实训分为三个阶段:(1)理论学习:深入学习面向对象编程的基本概念、原则和设计模式,理解面向对象编程的优势;(2)实践操作:通过编写简单的面向对象程序,巩固所学知识,提高编程能力;(3)项目实战:分组完成一个小型项目,锻炼团队协作和沟通能力。

三、实训收获1. 理论知识方面通过本次实训,我对面向对象编程有了更深入的理解,掌握了以下知识点:(1)面向对象编程的基本概念:类、对象、封装、继承、多态等;(2)面向对象设计原则:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、组合优于继承等;(3)常用设计模式:工厂模式、单例模式、观察者模式、策略模式、模板方法模式、适配器模式等。

2. 实践操作方面在实训过程中,我学会了使用面向对象编程语言编写程序,掌握了以下技能:(1)掌握面向对象编程语言的基本语法和语法规则;(2)熟练运用面向对象编程语言进行编程,提高编程效率;(3)学会使用面向对象设计原则和设计模式,提高代码质量。

3. 团队协作和沟通能力方面在项目实战阶段,我与团队成员紧密合作,共同完成项目。

在此过程中,我学会了以下技能:(1)明确项目目标和任务分工;(2)与团队成员有效沟通,确保信息畅通;(3)协调团队成员,共同解决问题。

四、实训不足与改进1. 理论知识方面在理论学习阶段,我发现自己在某些知识点上掌握得不够扎实,如面向对象设计模式的应用。

c语言实习报告3篇

c语言实习报告3篇

c语言实习报告3篇c语言实习报告1在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的.学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。

课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。

对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。

C++面向对象程序设计》实验报告

C++面向对象程序设计》实验报告

《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。

(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。

(3)掌握简单C++程序的编写和调试方法。

(4)掌握重载函数的定义方法。

(5)能正确使用引用型变量。

2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。

②在自己指定的子目录中建立一个名为test.cpp的新文件。

③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。

观察和分析编译信息。

⑤根据编译信息指出的错误, 修改程序。

再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。

⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。

⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。

观察屏幕的变化。

在输出窗口应显示程序运行结果。

⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。

改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程实训报告书
学生姓名:黄兵新学号: 20084749
学院:计算机与信息工程
专业年级:2009计算机科学与技术(对口)1班
题目:面向对象实训
指导教师:谭军
20012年5月
一、实训目的:
1.掌握C++语言程序调试环境VC的使用方法,熟练使用VC的各种命令。

2.掌握C++语言的程序基本结构,数据类型,运算符,表达式的使用。

3.掌握面向对象的编程方法。

4.掌握基本的调式方法,积累错误检查的经验。

二、实训内容:
1.编程序,从键盘输入两个int型(整型)数据,而后通过使用运算符+、-、*、/、%来计算这两个数的和、差、积、商以及余数,并将结果显示在屏幕上。

2.设a=1,b=1,c=3,试编程分别计算如下表达式的值,写出程序的运行结果:
(1)b+=a+2*c%5
(2)a*=b=c=3
(3)a+=b+=c
(4)a-=b=++c+2
3.下列程序的功能是:输入3个实数a ,b ,c ,求出方程
20ax bx c ++=的根,并显示在屏幕上。

方程的根的情况有下列几种:
12221220
00!0!0/((*4**))/(2*)40((*4**))/(2*)!040/(2*)/(2*)(4***)/(2*)40/(2*)(4**c b a c b x c b x b sqrt b b a c a b ac x b sqrt b b a c a a b ac x b a x b a sqrt a c b b a i b ac x b a sqrt a ⎧==⎧==⎪⎨===⎨
⎩⎪==-⎩=-+-⎧->⎨
=---⎩=-===-=-+--<=--方程无解方程有无穷多解*)/(2*)c b b a i ⎧⎪⎪⎪⎪⎪⎧⎪
⎨⎪⎪⎪⎪⎪⎨⎪⎪⎪⎧⎪⎨⎪⎪-⎩⎪⎩⎩
4.用for循环编写程序,使其完成下面功能:
(1)提示用户输入两个整数:FirstNum和SecondNum(FirstNum一定要小于SecondNum)。

(2)输出所有界于FirstNum和SecondNum之间的奇数。

(3)输出所有界于FirstNum和SecondNum之间偶数的和。

(4)输出所有界于FirstNum和SecondNum之间的奇数的平
方和。

5.一只母鸡5元钱,一只公鸡3元钱,3只小鸡1元钱,用100元钱买100只鸡,有多少种买法?编程序输出所有可能的结果。

6.编写程序,确定每位员工的工资总额。

每位员工一周工作40小时以内,付给规定的报酬,超出40小时的工作时间里,是规定报酬的1.5倍。

在程序中应该输入员工的工作时数及每小时的规定报酬。

程序输出形式:
Enter hours worked(-1 to end):39
Enter hourly rate of the worker ($00.00):10.00
Salary is $390.00
Enter hours worked(-1 to end):40
Enter hourly rate of the worker ($00.00):10.00
Salary is $400.00
Enter hours worked(-1 to end):41
Enter hourly rate of the worker ($00.00):10.00
Salary is $415.00
Enter hours worked(-1 to end):-1
7.某公司根据销售业绩给销售人员付酬。

销售人员每周的薪水为200美金加上周销售额的9%。

例如:销售员一周卖出了5000美元的产品,那么他的薪水就是200美元加上5000美元的9%,总数为650美元。

请开发一个程序,输入每位销售人员的销售总额,并计算销售人员的应得报酬。

程序输出形式:
Enter sales in dollars(-1 to end):5000.00
Salary is:$650.00
Enter sales in dollars(-1 to end):6000.00
Salary is:$740.00
Enter sales in dollars(-1 to end):7000.00
Salary is:$830.00
Enter sales in dollars(-1 to end):-1
9.编写函数,令其在屏幕上显示一个由井号围成的空心正方形,该正方形的边长由参数side指定。

例如:如果side 的值是5,则函数就会显示:
#####
##
##
##
#####
如果side的值是3,则函数就会显示:
###
##
###
三、实训总结:
通过这次面向对象程序设计,我得到了很大的收获。

首先,深刻了解到自主学习的能力的重要性,因为知识是无限的,老师和同学交给你的东西毕竟是有限的,在这有限之外扩充的东西必须要自己去学,而且是主动的,如果被动的等着别人来教你,那么你永远不可能学会任何东西,更别说是一门技术了。

在这实习几天中,我们天天面对的是电脑,有些同学会认真学习,努力钻研,最后学会了很多很多而另一些同学则是玩游戏、聊天、到最后什么也没有学习到。

这次面向对象设计课题,不仅提升了我分析问题和逻辑思考的能力,也让我明白团队合作的重要性。

平常我们都是不怎么讨论的,不会做就看别人的,没有经过讨论,不懂也不知道问。

在这次实训期间,我发现每个人的想法都不一样,老师平时总叫我们互相学习,但
是我们都没那么做,现在终于知道团队的力量了。

即使你不懂,只要你耐心的听老师的讲解或是问同学,就可以搞懂那些题目。

这次如果不是互相讨论的话,根本不能完成那些题目。

从这次实训我也学到很多,相信会对我们日后的学习工作起到很大的指导作用。

同时,这次实训也让我深深的陷入了对专业认识及就业方向的思考中,在了解到了自己的无知之前,在学习面向对象的时候没有认真,敷衍了事,实训的时候才知道自己好多东西都不会。

都怪自己平常不认真听课。

所以,下定决心,要在以后的学习中打好坚实基础,使自己在将来的就业和工作中有更强的竞争力。

相关文档
最新文档