当前位置:
文档之家› c++类的继承与派生--实验报告
c++类的继承与派生--实验报告
要求:
(1)定义一个基类圆,至少含有一个数据成员:半径;
(2)定义基类的派生类:球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数。
(3)定义主函数,求球、圆柱、圆锥的和体积。
算
法
描
述
及
实
验
步
骤
1首先定义一个基类person
2派生类student和teacher
3实现客户信息的手动输入
4实现客户输出信息的需求
}
实验一: person.cpp
#include "person1.h"
#include<iostream>
#include<cstdlib>
#define max 1000
#include<iomanip>
using namespace std;
int main()
{
system("color 1b");
void person::set()
{
cout<<"请输入编号number:\n";
cin>>number;
cout<<"请输入name:\n";
cin>>name;
}
void person::display()
{
cout<<"编号:"<<setw(10)<<number<<" :"<<setw(10)<<name<<endl;
char a,d;
int b;
int c;
student stud[max];
teacher teac[max];
while(1)
{
cout<<"请问你是否需要输入学生信息?(y/n)\n";
cin>>a;
if(a=='y'||a=='Y')
{
cout<<"请问你要输入几个学生的信息(n不大于1000人)";
12)注意头文件的关联;
13)注意循环的使用
(对实验结果进行分析,实验心得体会及改进意见)
附
录
附
录
附
录
附
录
实验的源程序:
实验一: person1.h
class person
{
private:
char number[20];
char name[20];
public:
void set();
void display();
};
class student:public person
{
private:
char classname[20];
double score;
public:
void set1();
void display1();
};
class teacher:public person
{
private:
char occupation[20];
}
void teacher::set2()
{
set();
cout<<"请输入教师的职业名:\n";
cin>>occupation;
cout<<"请输入教师的部门:\n";
cin>>department;
}
void teacher::display2()
{
display();
cout<<"教师的职业名:"<<setw(10)<<occupation<<" 教师的部门:"<<setw(10)<<department<<endl;
cin>>b;
for(int i=0;i<b;i++)
{
cout<<"请输入第"<<i+1<<"的信息\n";
stud[i].set1();
}
}
cout<<"请问你是否需要输入教师信息?(y/n)\n";
cin>>a;
if(a=='y'||a=='Y')
{
cout<<"请问你要输入几个(n)教师的信息(n不大于1000人)";
5实现客户的循环利用
6首先定义一个基类circle
7派生类cylinder和cone
8构造函数及调用有关函数
9定义求体积及面积的函数
调
试
过
程
及
实
验
结
果
调试过程中出现较少的语法错误,主要是以及友元的使用不熟练等
实验一的调试结果:学生及教师的信息输入:
学生及教师信息的输出:(有清屏的实现)
实验二的调试结果:
char department[20];
public:
void set2();
void display2();
};
实验一: person1.cpp
#include "person1.h"
#include<iostream>
#include<iomanip>
#include<string>
using namespace std;
总
结
1)仔细学习C++语法;
2)实验前预先编写好自己ห้องสมุดไป่ตู้程序;
3)注意对C++中英文单词的记忆与书写;
4)注意标点符号均为英文式的;
5)注意空格的位置;
6)注意一句话结束时,是以分号结束;
7)注意主函数只有一个;
8)注意流的符号;
9)注意类的使用方法;
10)注意类的继承与派生的
11)注意构造函数的使用;
实验环境
VC++6.0集成环境
实
验
容
二、实验容
1.编写一个学生和教师相关数据输入和显示程序。学生数据有编号、、班级和成绩,教师数据有编号、、职称和部门。 要求:将编号、及其输入和显示设计成一个类person,并作为学生数据操作类student和教师类数据操作类teacher的基类。
2.编写程序计算出球、圆柱和圆锥的表面积和体积。
}
void student::set1()
{
set();
cout<<"请输入学生的班级名classname:\n";
cin>>classname;
cout<<"请输入学生的成绩score:\n";
cin>>score;
}
void student::display1()
{
display();
cout<<"学生的班级名:"<<setw(10)<<classname<<" 学生的成绩:"<<setw(10)<<score<<endl;
课程名称
C++程序设计
班级
1320541
实验日期
2014年11月3日
姓 名
创
学号
37
实验成绩
实验名称
C++面向对象程序设计
实
验
目
的
及
要
求
一、实验目的
1、 理解继承的含义,掌握派生类的定义方法和实现;
2、 理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员;
3、 理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员
cin>>c;
for(int i=0;i<c;i++)
{
cout<<"请输入第"<<i+1<<"教师的信息:\n";
teac[i].set2();
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
}