C++上机各种实验报告.docx
《C++上机各种实验报告.docx》由会员分享,可在线阅读,更多相关《C++上机各种实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
C++上机各种实验报告
面向对象程序设计上机实验报告
实验名称:
C++语言程序设计
班级:
电子1612
学号:
16200106207
姓名:
张亦然
成绩:
2017年6月14日
一、实验目的
运用一个C++程序输出一个简单的程序语句。
了解C++与C语言的区别
二、实验内容
运用一个C++程序输出一个程序
三、源代码与注释
#include
usingnamespacestd;
classA
{
public:
inti,j;
voidt()
{cout<<"helloboy!
!
!
"<};
intmain()
{
Ax,y;
x.t();
return0;
}
四、实验结果(程序运行截图)
五、实验心得
C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。
所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。
所以说C++比C更先进
面向对象程序设计上机实验报告
实验名称:
设计类及测试程序
班级:
电子1612
学号:
16200106207
姓名:
张亦然
成绩:
2017年6月14日
一、实验目的
1.掌握类的概念以及定义对象的方法
2.掌握用类的对象编制基于对象的程序
3.学习检查和调试基于对象的程序
二、实验内容
定义一个类,使用简单的程序输出姓名和对应的成绩
三、源代码与注释
#include
usingnamespacestd;
classStudent{
public:
Student(char*name,intage,floatscore);
public:
friendvoidshow(Student*pstu);
private:
char*m_name;
intm_age;
floatm_score;
};
Student:
:
Student(char*name,intage,floatscore):
m_name(name),m_age(age),m_score(score){}
voidshow(Student*pstu){
cout<m_name<<"的年龄是"<m_age<<",成绩是"<m_score<}
intmain(){
Studentstu("小明",15,90.6);
show(&stu);
Student*pstu=newStudent("李磊",16,80.5);
show(pstu);
return0;
}
四、实验结果(程序运行截图)
五、实验心得
C++大大增强了对字符串的支持,除了可以使用C风格的字符串,还可以使用内置的string类。
string类处理起字符串来会方便很多,完全可以代替C语言中的字符数组或字符串指针。
类的提前声明的使用范围是有限的,只有在正式声明一个类以后才能用它去创建对象
面向对象程序设计上机实验报告
实验名称:
设计派生类及测试程序
班级:
电子1612
学号:
16200106207
姓名:
张亦然
成绩:
2017年6月14日
一、实验目的
1.了解派生在面向对象程序设计中的重要作用
2.进一步了解派生的概念
3.掌握通过派生出一个新的类的方法
4了解虚基类的作用
二、实验内容
运用派生类程序设计输出选择项电子学生以及音乐学生1,2,3号的选项
三、源代码与注释
#include
usingnamespacestd;
classA{
public:
A(){cout<<"电子学生1号"<~A(){cout<<"音乐学生1号"<};
classB:
publicA{
public:
B(){cout<<"电子学生2号"<~B(){cout<<"音乐学生2号"<};
classC:
publicB{
public:
C(){cout<<"电子学生3号"<~C(){cout<<"音乐学生3号"<};
intmain(){
Ctest;
return0;
}
四、实验结果(程序运行截图)
五、实验心得
析构函数的执行顺序和构造函数的执行顺序也刚好相反
创建派生类对象时,构造函数的执行顺序和继承顺序相同,即先执基类构造函数,再执行派生类构造函数。
而销毁派生类对象时,析构函数的执行顺序和继承顺序相反,即先行派生类析构函数,再执行基类析构函数。
面向对象程序设计上机实验报告
实验名称:
类的运算
班级:
电子1612
学号:
16200106207
姓名:
张亦然
成绩:
2017年6月14日
一、实验目的
1.了解运算符重载的使用方法
2.掌握几种常用的运算符重载的方法
3.了解析构函数的使用
4.了解运算符重载允许C/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义。
二、实验内容
运用运算符重载的方法计算两段距离的大小
三、源代码与注释
#include
usingnamespacestd;
classDistance
{
private:
intfeet;
intinches;
public:
Distance(){
feet=0;
inches=0;
}
Distance(intf,inti){
feet=f;
inches=i;
}
voiddisplayDistance()
{
cout<<"F:
"<"<}
Distanceoperator-()
{
feet=-feet;
inches=-inches;
returnDistance(feet,inches);
}
booloperator<(constDistance&d)
{
if(feet{
returntrue;
}
if(feet==d.feet&&inches{
returntrue;
}
returnfalse;
}
};
intmain()
{
DistanceJULI1(11,10),JULI2(5,11);
if(JULI1{
cout<<"JULI1islessthanJULI2"<}
else
{
cout<<"JULI2islessthanJULI1"<}
return0;
}
四、实验结果(程序运行截图)
五、实验心得
C++中通过重新定义运算符,使它能够用于特定类的对象执行特定的功能,这便增强了C++语言
通过重载类上的标准算符,你可以发掘类的用户的直觉。
使得用户程序所用的语言是面向问题的,而不是面向机器的。
面向对象程序设计上机实验报告
实验名称:
类模板设计与应用
班级:
电子1612
学号:
16200106207
姓名:
张亦然
成绩:
2017年6月14日
一、实验目的
1.熟悉基于过程的程序设计的特点。
2.掌握三种基本的类模板程序设计的方法。
3.掌握类模板的设计特点,灵活运用类模板格式设置进行设计。
4.熟悉类模板的特征,掌握template的格式及应用。
二、实验内容
不同类型的数,用类模板比较整数,浮点数,字符的大小,并找出最大值和最小值
三、源代码与注释
#include
usingnamespacestd;
template
classCompare
{
public:
Compare(Ta,Tb)
{
x=a;
y=b;
}
Tmax()
{
return(x>y)?
x:
y;
}
Tmin()
{
return(xx:
y;
}
private:
Tx,y;
};
intmain()
{
Comparecmp1(3,7);
cout<<"Max:
"<cout<<"Min:
"<Comparecmp2(45.89,88.76);
cout<<"Max:
"<cout<<"Min:
"<Comparecmp3('a','A');
cout<<"Max:
"<cout<<"Min:
"<return0;
}
四、实验结果(程序运行截图)
五、实验心得
1)声明类模板时要增加一行
2)原有的类型名int换成虚拟类型参数名numtype。
3)在类声明前面加入一行,格式为:
template