1、电子与及信息工程学院 面向对象程序设计实验报告 面向对象程序设计上机实验报告实验名称: C+语言程序设计 班 级: 电子 2017年 6 月 14 日一、实验目的运用一个C+程序输出一个简单的程序语句。了解C+与C语言的区别二、实验内容运用一个C+程序输出一个程序三、源代码与注释#includeusing namespace std;class Apublic: int i,j; void t() couthello boy!endl; ;int main() A x,y; x.t(); return 0; 四、实验结果(程序运行截图)五、实验心得C+,首要考虑的是如何构造一个对象模型,让这个
2、模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C+的最大区别在于它们的用于解决问题的思想方法不一样。所以说C+比C更先进面向对象程序设计上机实验报告实验名称: 设计类及测试程序 班 级: 电子1612 学 号: 16200106207 姓 名: 张亦然 成 绩: 2017年 6 月 14 日一、实验目的1. 掌握类的概念以及定义对象的方法2. 掌握用类的对象编制基于对象的程序3. 学习检查和调试基于对象的程序二、实验内容定义一个类,使用简单的程序输出姓名和对应的成绩三、源代码与注释#include using namespace std
3、;class Studentpublic: Student(char *name, int age, float score);public: friend void show(Student *pstu); private: char *m_name; int m_age; float m_score;Student:Student(char *name, int age, float score): m_name(name), m_age(age), m_score(score) void show(Student *pstu) coutm_name的年龄是 m_age,成绩是 m_sco
4、reendl;int main() Student stu(小明, 15, 90.6); show(&stu); Student *pstu = new Student(李磊, 16, 80.5); show(pstu); return 0;四、实验结果(程序运行截图)五、实验心得C+ 大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的 string 类。string 类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。类的提前声明的使用范围是有限的,只有在正式声明一个类以后才能用它去创建对象面向对象程序设计上机实验报告实验名称:设计派生类及测试程序班
5、级:电子1612学 号:16200106207 姓 名:张亦然成 绩: 2017年 6 月 14 日一、实验目的1.了解派生在面向对象程序设计中的重要作用2.进一步了解派生的概念3.掌握通过派生出一个新的类的方法4了解虚基类的作用二、实验内容运用派生类程序设计输出选择项电子学生以及音乐学生1,2,3号的选项三、源代码与注释#include using namespace std;class Apublic: A()cout电子学生1号endl; A()cout音乐学生1号endl;class B: public Apublic: B()cout电子学生2号endl; B()cout音乐学生2号
6、endl;class C: public Bpublic: C()cout电子学生3号endl; C()cout音乐学生3号endl;int main() C test; return 0;四、实验结果(程序运行截图)五、实验心得析构函数的执行顺序和构造函数的执行顺序也刚好相反 创建派生类对象时,构造函数的执行顺序和继承顺序相同,即先执基类构造函数,再执行派生类构造函数。 而销毁派生类对象时,析构函数的执行顺序和继承顺序相反,即先行派生类析构函数,再执行基类析构函数。面向对象程序设计上机实验报告实验名称: 类的运算 班 级: 电子1612 学 号: 16200106207 姓 名: 张亦然 成
7、 绩: 2017年 6月 14 日一、实验目的1.了解运算符重载的使用方法2.掌握几种常用的运算符重载的方法3.了解析构函数的使用4.了解运算符重载允许C/C+的运算符在用户定义类型(类)上拥有一个用户定义的意义。二、实验内容运用运算符重载的方法计算两段距离的大小三、源代码与注释#include using namespace std; class Distance private: int feet; int inches; public: Distance() feet = 0; inches = 0; Distance(int f, int i) feet = f; inches = i
8、; void displayDistance() cout F: feet I: inches endl; Distance operator- () feet = -feet; inches = -inches; return Distance(feet, inches); bool operator (const Distance& d) if(feet d.feet) return true; if(feet = d.feet & inches d.inches) return true; return false; ;int main() Distance JULI1(11, 10),
9、 JULI2(5, 11); if( JULI1 JULI2 ) cout JULI1 is less than JULI2 endl; else cout JULI2 is less than JULI1 endl; return 0;四、实验结果(程序运行截图)五、实验心得C+中通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,这便增强了C+语言通过重载类上的标准算符,你可以发掘类的用户的直觉。使得用户程序所用的语言是面向问题的,而不是面向机器的。面向对象程序设计上机实验报告实验名称: 类模板设计与应用 班 级: 电子1612 学 号: 16200106207 姓 名: 张亦然
10、成 绩: 2017年 6 月 14 日一、 实验目的1熟悉基于过程的程序设计的特点。2掌握三种基本的类模板程序设计的方法。3掌握类模板的设计特点,灵活运用类模板格式设置进行设计。4熟悉类模板的特征,掌握template的格式及应用。二、实验内容不同类型的数,用类模板比较整数,浮点数,字符的大小,并找出最大值和最小值三、源代码与注释#includeusing namespace std;template class Compare public: Compare(T a,T b) x=a; y=b; T max() return(xy)?x:y; T min() return(xy)?x:y;
11、private: T x,y; int main() Compare cmp1(3,7); coutMax : cmp1.max()endl; coutMin : cmp1.min()endlendl; Compare cmp2(45.89,88.76); coutMax : cmp2.max()endl; coutMin : cmp2.min()endl; Compare cmp3(a,A); coutMax : cmp3.max()endl; coutMin : cmp3.min()endl; return 0; 四、实验结果(程序运行截图)五、实验心得1) 声明类模板时要增加一行2) 原有的类型名int换成虚拟类型参数名numtype。3) 在类声明前面加入一行,格式为: template
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1