c语言程序设计实验报告
一、实验目的:
1、掌握C语言的数据类型和变量的声明。
2、掌握不同类型数据之间赋值的规律。
3、掌握C语言的运算符和表达式的使用。
4、熟悉C程序的编辑、编译、连接和运行的过程。
二、学习要求
(1)了解继承在面向对象程序设计中的重要作用。
(2) 理解继承与派生的概念。
(3)掌握派生类构造函数的定义。
三、实验内容
要求定义一个基类Person,它有3个protected的数据成员:姓名、性别、年龄;创建Person类的公有派生类Employee,增加两个数据成员: 基本工资 basicSalary, 请假天数leaveDays。为它们定义构造函数和显示数据成员信息的成员函数show()。
四、基本知识
什么是继承
继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
什么是派生
在C++中,所谓“继承”就是在一个已存在的类的基础上建立一个新的类。已存在的类称为“基类(base class)”或“父类(father class)”,新建的类称为“派生类(derived class)”或“子类(son class )”。 一个新类从已有的类那里获得其已有特性,这种现象称为类的继承。通过继承,一个新建子类从已有的父类那里获得父类的特性。从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生。类的继承是用已有的类来建立专用类的编程技术。派生类继承了基类的所有数据成员和成员函数,并可以对成员作必要的增加或调整。一个基类可以派生出多个派生类,每一个派生类又可以作为基类再派生出新的派生类,因此基类和派生类是相对而言的。一代一代地派生下去,就形成类的继承层次结构。相当于一个大的家族,有许多分支,所有的子孙后代都继承了祖辈的基本特征,同时又有区别和发展。与之相仿,类的每一次派生,都继承了其基类的基本特征,同时又根据需要调整和扩充原 有的特征。 以上介绍的是最简单的情况:一个派生类只从一个基类派生,这称为单继承(single inheritance),这种继承关系所形成的层次是一个树形结构,如图所示。
一个派生类不仅可以从一个基类派生,也可以从多个基类派生。也就是说,一个派生类可以有一个或者多个基类。一个派生类有两个或多个基类的称为多重继承(multiple inheritance)。关于基类和派生类的关系,可以表述为派生类是基类的具体化,而基类则是派生类的抽象。
五、实验步骤
代码如下:
首先,我们先写person类:
#include
using namespace std;
class Person
{
public:
void get_value()
{
cin>>name>>sex>>age;
}
void show()
{
cout << "name: " << name << endl;
cout << "sex: " << sex << endl;
cout << "age: " << age << endl;
}
protected:
char name;
char sex;
int age;
};
下面就是主函数及作用域:
class Employee:public Person
{
public:
void get_value1();
void show1();
private:
float basicSalary;
int leaveDays;
};
void Employee::get_value1()
{
get_value();
cin>>basicSalary>>leaveDays;
}
void Employee::show1()
{
show();
cout << "basicSalary: " < cout << "leaveDays: " < } int main() { Employee p; p.get_value1(); p.show1(); return 0; } 实验结果 cin和cout是c++中的标准输入输出流。 一、cin cin的一般用法: cin>>变量a>>变量b>>变量c; cin会自动辨别变量的类型,如a可以是char,b可以是int,c可以是float。 接收字符串时,遇到空格,tab键和换行符都会结束接收。 cin.getline()可以接收空格,cin.getline(char*,int,char),内有三个参数,第一个表示要接收的字符串,第二个表示接收字符个数,第三个表示结束字符。当第三个省略时默认结束字符为'\0'。 二、cout cout的一般用法: cout<<表达式1<<表达式2<<表达式3; 如要换行可使用 cout< 和cin一样,cout会自动检测表达式类型输出。 相关文章
发表评论