西华大学C++实验报告2 类和对象 ok

合集下载

C 类和对象实验报告

C  类和对象实验报告

C 类和对象实验报告C++类和对象实验报告引言:C++是一种面向对象的编程语言,它提供了类和对象的概念,使得程序的设计和实现更加模块化和可重用。

本实验旨在通过实际编程操作,深入理解C++中类和对象的概念,并掌握其基本用法。

实验目的:1. 理解类和对象的概念;2. 掌握类的定义和对象的创建方法;3. 熟悉类的成员变量和成员函数的使用;4. 学会通过对象调用成员函数实现数据的封装和操作。

实验内容:1. 类的定义和对象的创建在C++中,通过关键字class可以定义一个类。

类定义了一种数据类型,它包含了数据成员和成员函数。

我们可以通过类来创建对象,即类的实例化。

例如,我们可以定义一个类Person,其中包含姓名和年龄两个数据成员,以及一个显示个人信息的成员函数。

然后通过Person类来创建多个对象,每个对象都有自己的姓名和年龄。

2. 成员变量和成员函数的使用类的成员变量是类的数据成员,用于存储对象的状态信息。

成员函数是类的操作成员,用于实现对对象的操作和功能。

在类的成员函数中,可以通过this指针来访问对象的成员变量和成员函数。

this指针指向当前对象的地址,可以用于区分不同对象的成员变量和成员函数。

例如,在Person类的成员函数中,可以通过this指针来访问当前对象的姓名和年龄。

3. 数据的封装和操作类的一个重要特性是数据的封装,即将数据和操作数据的函数封装在一起,形成一个完整的类。

通过对象调用成员函数,可以实现对数据的操作。

例如,在Person类中,我们可以定义一个设置姓名的成员函数set_name()和一个获取姓名的成员函数get_name()。

通过对象调用这两个成员函数,可以设置和获取对象的姓名。

实验结果:通过实验,我们成功定义了一个Person类,并创建了多个Person对象。

通过对象调用成员函数,实现了对对象的操作和数据的封装。

通过实验,我们深入理解了C++中类和对象的概念,掌握了类的定义和对象的创建方法,熟悉了类的成员变量和成员函数的使用,学会了通过对象调用成员函数实现数据的封装和操作。

类与对象的实验报告

类与对象的实验报告

类与对象的实验报告类与对象的实验报告引言:在计算机科学领域,类与对象是面向对象编程(Object-Oriented Programming,简称OOP)的核心概念之一。

类是一种抽象的数据类型,用于描述具有相同属性和行为的对象集合。

对象则是类的实例,具体化了类的属性和行为。

本实验旨在通过编写一个简单的类与对象的程序,深入理解类与对象的概念及其在编程中的应用。

实验过程:1. 定义一个类:在这个实验中,我们以动物为例,定义了一个名为Animal的类。

该类具有以下属性和行为:- 属性:名称、年龄、种类- 行为:吃、睡、叫2. 创建对象:在主程序中,我们创建了两个Animal对象,分别代表一只狗和一只猫。

通过调用构造函数,为对象的属性赋值。

3. 调用对象的方法:我们通过调用对象的方法,模拟了动物的行为。

例如,我们调用了eat()方法,让动物吃东西;调用了sleep()方法,让动物睡觉;调用了make_sound()方法,让动物发出叫声。

4. 修改对象属性:我们还演示了如何修改对象的属性。

通过调用set_age()方法,我们改变了动物的年龄;通过调用set_type()方法,我们改变了动物的种类。

实验结果:通过运行程序,我们观察到以下结果:- 狗的名称是"旺财",年龄是3岁,种类是"狗"。

狗吃骨头,睡觉时打呼噜,发出汪汪的叫声。

- 猫的名称是"咪咪",年龄是2岁,种类是"猫"。

猫吃鱼,睡觉时打呼噜,发出喵喵的叫声。

- 经过修改后,狗的年龄变为5岁,种类变为"藏獒";猫的年龄变为3岁,种类变为"波斯猫"。

讨论与分析:通过这个实验,我们深入理解了类与对象的概念及其在编程中的应用。

类是一种抽象的模板,用于描述具有相似属性和行为的对象集合。

对象是类的实例,具体化了类的属性和行为。

通过定义类和创建对象,我们可以更好地组织和管理程序的代码。

类与对象实验报告(C++)

类与对象实验报告(C++)

实验报告学院工学院课程名称C++程序设计第 1 次实验实验名称:类和对象进一步讨论专业班级姓名学号成绩指导老师签字实验时间2015年10月30日学生实验室守则一、按教学安排准时到实验室上实验课,不得迟到、早退和旷课。

二、进入实验室必须遵守实验室的各项规章制度,保持室内安静、整洁,不准在室内打闹、喧哗、吸烟、吃食物、随地吐痰、乱扔杂物,不准做与实验内容无关的事,非实验用品一律不准带进实验室。

三、实验前必须做好预习(或按要求写好预习报告),未做预习者不准参加实验。

四、实验必须服从教师的安排和指导,认真按规程操作,未经教师允许不得擅自动用仪器设备,特别是与本实验无关的仪器设备和设施,如擅自动用或违反操作规程造成损坏,应按规定赔偿,严重者给予纪律处分。

五、实验中要节约水、电、气及其它消耗材料。

六、细心观察、如实记录实验现象和结果,不得抄袭或随意更改原始记录和数据,不得擅离操作岗位和干扰他人实验。

七、使用易燃、易爆、腐蚀性、有毒有害物品或接触带电设备进行实验,应特别注意规范操作,注意防护;若发生意外,要保持冷静,并及时向指导教师和管理人员报告,不得自行处理。

仪器设备发生故障和损坏,应立即停止实验,并主动向指导教师报告,不得自行拆卸查看和拼装。

八、实验完毕,应清理好实验仪器设备并放回原位,清扫好实验现场,经指导教师检查认可并将实验记录交指导教师检查签字后方可离去。

九、无故不参加实验者,应写出检查,提出申请并经批准后,方可补做。

十、自选实验,应事先预约,拟订出实验方案,经实验室负责人同意后,在指导教师或实验技术人员的指导下进行。

十一、实验室内一切物品未经允许严禁带出室外,确需带出,必须经过批准并办理手续。

预习报告实验基本原理与设计(包括实验方案设计、实验手段的确定、电路原理图设计或算法描述)1、考察类的对象数组:建立一个对象数组,内放5个学生的数据(学号,成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。

面向对象c 实验报告

面向对象c 实验报告

面向对象c 实验报告实验报告:面向对象C程序设计一、实验目的本次实验旨在通过设计一个面向对象的C程序,来加深对面向对象程序设计的理解,并实践C语言中面向对象的编程思想。

二、实验过程1. 设计类和对象:在C语言中,没有类的概念,但可以通过以下方式模拟类和对象。

- 定义一个结构体来表示一个类,结构体中包含该类的成员变量和成员函数指针。

- 定义一些函数来模拟类的成员函数,函数的第一个参数是结构体类型的指针,该指针指向当前对象。

2. 创建对象:定义一个结构体变量,该变量称为对象,通过调用构造函数来初始化对象的成员变量,将对象传递给成员函数。

3. 调用成员函数:使用对象调用该对象的成员函数,通过函数指针实现多态性。

4. 析构对象:在不再使用对象时,调用析构函数来释放对象占用的资源,避免内存泄漏。

5. 运行程序:编译并运行C程序,观察程序的输出结果。

三、实验结果在C语言中实现面向对象的程序设计,可以提供一种思路和方式来实现面向对象的编程思想。

通过将相关的数据和函数封装在一个表示类的数据结构中,并通过该数据结构的函数指针来调用成员函数,可以模拟出面向对象的效果。

四、实验总结通过本次实验,我对于C语言中如何实现面向对象编程有了进一步的理解。

尽管C语言本身没有类的概念,但通过结构体和函数指针的方式,我们可以模拟出类和对象的概念,并实现封装、继承和多态等面向对象的特性。

C语言中面向对象的编程思想可以使程序更加模块化、灵活和易于维护。

通过将相关的数据和函数封装在一个结构体中,我们可以将代码组织得更加清晰,降低代码的耦合度,提高代码的重用性。

此外,通过函数指针的方式来调用成员函数,可以实现多态性,使得代码更加灵活和可扩展。

当然,C语言中实现面向对象编程也存在一些限制和不足。

相比于面向对象编程语言,如C++和Java,C语言中的面向对象编程需要手动管理对象的生命周期,容易出现内存泄漏的问题。

此外,C语言中没有提供访问控制的特性,不同成员函数之间的访问权限不能进行限制。

C程序设计实验报告(完整版)

C程序设计实验报告(完整版)

工程学院实验报告课程名称: C程序设计课程代码:学院(直属系):年级/专业/班: 2010级汽电1班学生姓名:学号:实验总成绩:任课教师:开课学院: 工程学院实验中心名称: 交通实验中心第组西华大学实验报告西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:年月日学生姓名学号实验成绩课程名称C程序设计课程代码实验项目名称C语言集成环境及程序初步项目代码指导教师项目学分实验课考勤实验工作表现实验报告1、实验目的2、实验设备、仪器及材料3、实验内容一般实验:3.1实验方案设计与选择(设计性、创新性实验需写该项内容)3.2实验原理及实验步骤(实验工作原理或实验的主要操作过程)3.3实验记录(核心代码及调试过程)注解:理工科实验需记录实验过程中的数据、图表、计算、现象观察等,实验过程中出现的问题;其它如在计算机上进行的编程、仿真性或模拟性实验需记录程序核心代码以及程序在调式过程中出现的问题及解决方法;记录程序执行的结果。

上机实验:3.1上机实验的内容及要求3.2算法设计思想与算法实现步骤3.3程序核心代码,程序调试过程中出现的问题及解决方法3.4 程序运行的结果4、实验总结4.1实验结果分析及问题讨论4.2实验总结心得体会注解:实验总结的内容根据不同学科和类型实验要求不一样,一般理工科类的实验需要对实验结果进行分析,并且对实验过程中问题进行讨论;在计算机上进行的编程、仿真性或模拟性实验需要对上机实践结果进行分析,上机的心得体会及改进意见。

其它实验应总结实验过程写出心得体会及改进意见。

第页1、实验目的(1) 熟悉C语言的集成环境,了解菜单的使用方法。

(2) 掌握C语言程序上机的编辑、编译、连接、运行的基本步骤。

(3) 了解C语言程序的结构。

2、实验设备、仪器及材料(1)硬件环境微型计算机(Intel x86系列CPU)一台(2)软件环境Windows98/2000/XP操作系统 VC6.0集成开发环境3、实验内容3.1上机实验的内容及要求(1) 熟悉VC中常用菜单项及对应快捷键的使用方法。

C++程序设计实验报告-类与对象

C++程序设计实验报告-类与对象
楚类的构造函数、析构函数、成员函数的执行顺序。
private: CPU_rank rank; int frequency; float voltage;
public: CPU (CPU_rank r,int f,float v) { rank=r; frequency=f; voltage=v; cout<<"构造了一个 cpu!"<<endl; } ~CPU(){ cout<<"析构了一个 cpu!"<<endl;} CPU_rank getrank() const{ return rank;} void setrank(CPU_rank r){ rank=r;} void run(){cout<<"cpu 开始运行!"<<endl;} void stop(){cout<<"cpu 停止运行!"<<endl;}
private: CPU_Rank rank; int frequency;
float voltage; public:
CPU(CPU_Rank r,int f,float v) {
rank=r; frequency=f; voltage=v; cout<<"构造了一个 CPU!"<<endl; } ~CPU() { cout<<"析构了一个 CPU!"<<endl; } CPU_Rank GetRank() const { return rank; } int GetFrequency() const { return frequency; } float GetVoltage() const { return voltage; } void SetRank(CPU_Rank r) { rank=r; } void SetFrequency(int f) { frequency=f; } void Setvoltage(float v) { voltage=v; } void Run(){ cout<<"CPU 开始运行!"<<endl; } void Stop(){ cout<<"CPU 停止运行!"<<endl; } }; int main() { CPU a(P6,300,2.8); a.Run(); a.Stop(); return 0; } 运行结果:

西华大学C++实验报告2 类和对象 ok

西华大学C++实验报告2 类和对象 ok

.西华大学实验报告(计算机类)开课学院及实验室:机械工程与自动化 实验时间 : 年 月 日一、实验目的1. 掌握类和对象的定义和使用方法;2. 掌握定义构造函数和析构函数、重载构造函数的方法;3. 掌握静态成员和常类型的语法;4. 能正确理解public, private 和protected 三种访问权限及继承方式的区别;5. 掌握程序多文件的组织方法。

二、内容与设计思想上机实践内容:定义学生类Student ,用于存放并输出学生的姓名、学号、年龄、程序设计的成绩并统计学生人数。

1) 定义缺省构造函数、带参数的构造函数和拷贝构造函数给学生的姓名、学号、年龄、程序设计的成绩分配内存并赋值;2) 定义函数输出学生信息;3)定义析构函数;4) 在主函数中定义多个对象并调用上述成员函数进行测试;5)采用头文件和源文件对程序进行组织。

三、使用环境操作系统:Windows XPC++环境:Visual C++ 6.0四、核心代码及调试过程#include <iostream>#include<string>using namespace std;static int count=0;class Student{private:string name;long num;int age;int score;public:Student(){name="印成波";num=224;age=21;score=95;count++;}Student(string Name,long Num,int Age,int Score){ name=Name;num=Num;age=Age;score=Score;count++;}Student(Student &a);void show(){cout<<"姓名:"<<name<<endl;cout<<"学号:"<<num<<endl;cout<<"年龄:"<<age<<endl;cout<<"成绩:"<<score<<endl;}~Student(){}};Student::Student(Student &a){name=;num=a.num;age=a.age;score=a.score;}void main() {Student student1;student1.show();Student student2("student num1",555,22,99);student2.show();Student student3(student2);student3.show();cout<<"学生人数:"<<count<<endl;}五、总结通过对本次上机的过程,使我对构造函数、析构函数、拷贝构造函数等有了一定的了解。

C++试验2_类和对象程序设计

C++试验2_类和对象程序设计

实验2 类和对象程序设计【实验目的】运用C++实现类和对象的程序编写、调试与运行【实验内容】1、例程调试练习例1 类和对象的简单实例#include <iostream.h>#include <math.h>class complex{private:double real; //复数的实部double imag; //复数的虚部public:void init(double r,double i) //给real和imag赋初值{real=r;imag=i;}double realcomplex() //求复数的实部值{return real;}double imagcomplex() //求复数的虚部值{return imag;}double abscomplex() //求复数的绝对值{double t;t=real*real+imag*imag;return sqrt(t);}};int main(){complex A;A.init(1.1,2.2);cout<<"real of complex A="<<A.realcomplex( )<<endl;cout<<"imag of complex A="<<A.imagcomplex( )<<endl;cout<<"abs of complex A="<<A.abscomplex( )<<endl;A.real=5.5;A.imag=8.8;;return 0;}例2 构造函数与析构函数#include <iostream.h>#include <math.h>class complex{private:double real;double imag;public:complex(double r=0.0,double i=0.0); //含有缺省参数的构造函数 ~complex( );double abscomplex( );};complex::complex(double r,double i){cout<<"constructing "<<endl;real=r;imag=i;}~complex( ){cout<<"destructing "<<endl;}double complex::abscomplex( ){double t;t=real*real+imag*imag;return sqrt(t);}int main( ){complex A(1.1,2.2);cout<<"abs of complex A="<<A.abscomplex( )<<endl;return 0;}例3 对象数组#include<iostream.h>class exam{private:int x;public:exam(int n){x=n;}int get_x(){return x;}};int main(){exam ob[4]={11,22,33,44}; //通过初始值表给对象数组赋值for(int i=0;i<4;i++) cout<<ob[i].get_x( )<<' ';cout<<endl;return 0;}例4 对象指针class exe{private:int x;public:void set_a(int a){x=a;}void show_a(){cout<<x<<endl;}};main(){exe ob,*p //声明类exe的对象ob和类exe的对象指针p ob.set_a(2);ob.show_a( );p=&ob; //将p指针指向对象obp->show_a( );return 0;}例5 对象作为函数参数#include<iostream.h>class tr{private:int i;public:tr(int n){i=n;void set_i(int n){i=n;}int get_i(){return i;}};void sqr_it(tr *ob){cout<<"Copy Of Obj has i value Of"<<ob->get_i();ob->set_i(ob->get_i( )*ob->get_i( ));cout<<endl;}int main(){tr obj(10);sqr_it(&obj);cout<<"Now,Obj.i in main() has been changed:";cout<<obj.get_i( )<<endl;return 0;}例6 友元#include<iostream.h>#include<string.h>class girl;class boy{private:char *name;int age;public:boy(char*n,int d){name=new char[strlen(n)+1];strcpy(name,n);age=d;}void disp(girl &); //声明disp()为类boy的成员函数 ~boy(){delete name;}class girl{private:char *name;int age;public:girl(char *n,int d){name=new char[strlen(n)+1];strcpy(name,n);age=d}friend void boy::disp(girl &); //声明类boy的成员函数disp()为类girl 的友元函数~girl(){delete name;}};void boy::disp(girl &x) //定义友元函数disp(){cout<<"boy \'s name is:"<<name<<age:"<<age<<"\n"; //访问本类对象成员cout<<"girl\'s name is:"<<<<"age:"<<x.age<<endl; //访问友类对象成员}void main(){boy b("chen hao",25);girl e("zhang wei",18);b.disp(e);return;}例7 类对象成员#include<iostream.h>#include<string.h>class string{ //声明类stringprivate:char *str;public:string(char *s) //定义类string的构造函数{str=new char[strlen(s)+1];strcpy(str,s);void print(){cout<<str<<endl;}~string(){delete str;}};class girl //声明类girl{private:string name; //name为类girl的对象成员int age;public:girl(char *st,int ag):name(st) //定义类girl的构造函数{age=ag;}void print(){name.print(); //调用类string的对象name的成员函数cout<<"age:"<<age<<endl;}~girl(){}};int main( ){girl obj{"Chenhao",25};obj.print();return 0;}2、编程练习练习1(必作题)试定义一个字符串类string,使其至少具有内容(contents)和长度(1ength)两个数据成员,并具有显示字符串、求字符串长度、给原字符串后添加一个字符串等功能,要求程序必须完成,即必须包含主函数。

类和对象实验报告c

类和对象实验报告c

类和对象实验报告c类和对象实验报告引言在计算机科学领域,类和对象是面向对象编程的核心概念。

类是一种抽象数据类型,用于描述对象的属性和行为。

对象是类的实例化,具有特定的属性和行为。

本实验旨在通过编写一个简单的类和对象的示例程序,深入理解类和对象的概念以及它们在程序设计中的应用。

实验过程1. 类的定义首先,我们需要定义一个类。

在这个示例程序中,我们选择创建一个名为"Person"的类。

这个类将代表一个人,具有姓名和年龄两个属性。

类的定义通常包括属性和方法两个部分。

2. 属性的定义在"Person"类中,我们需要定义两个属性:姓名和年龄。

属性可以是不同的数据类型,比如字符串、整数等。

在这个示例中,我们选择使用字符串类型来表示姓名,使用整数类型来表示年龄。

属性的定义通常包括访问修饰符、数据类型和属性名称。

3. 方法的定义除了属性,类还可以定义方法。

方法是类的行为,用于执行特定的操作。

在"Person"类中,我们选择定义一个"introduce"方法,用于介绍这个人的姓名和年龄。

方法的定义通常包括访问修饰符、返回类型、方法名称和参数列表。

4. 对象的创建一旦类定义完成,我们可以创建类的对象。

在这个示例中,我们可以创建一个名为"person1"的对象,代表一个具体的人。

对象的创建通常包括使用"new"关键字和调用类的构造函数。

5. 对象属性的访问和修改通过对象,我们可以访问和修改类的属性。

在这个示例中,我们可以通过""和"person1.age"来访问和修改"person1"对象的姓名和年龄。

6. 对象方法的调用通过对象,我们还可以调用类的方法。

在这个示例中,我们可以通过"person1.introduce()"来调用"person1"对象的"introduce"方法,从而介绍这个人的姓名和年龄。

c 类与对象 实验报告

c  类与对象 实验报告

c 类与对象实验报告
C类与对象实验报告
实验目的:通过实验,掌握C语言中类与对象的基本概念和使用方法,加深对面向对象编程的理解。

实验内容:
1.了解C语言中类与对象的定义和声明方法
2.掌握C语言中类与对象的成员变量和成员函数的定义和使用
3.实现一个简单的C语言类与对象的示例程序
实验步骤:
1.定义一个类,包括成员变量和成员函数
2.声明一个对象,并初始化对象的成员变量
3.调用对象的成员函数,实现相关功能
4.编译并运行程序,观察输出结果
实验结果:
通过实验,我们成功定义了一个C语言类,并创建了一个对象进行操作。

我们发现,类与对象的概念在C语言中虽然没有像C++或Java那样的完整支持,但我们仍然可以通过结构体和函数指针等方式来模拟类与对象的使用,实现面向对象编程的效果。

实验结论:
通过本次实验,我们加深了对C语言中类与对象的理解,掌握了基本的使用方法。

虽然C语言中并没有原生支持类与对象的概念,但我们可以通过一些技巧和方法来实现类似的功能。

面向对象编程是一种重要的编程范式,掌握类与对
象的概念对于我们提高编程能力和设计程序结构都具有重要意义。

总结:
C语言中类与对象的实验让我们更深入地理解了面向对象编程的思想,为我们今后的编程学习和实践打下了良好的基础。

通过不断地实践和探索,我们相信我们可以更加熟练地运用类与对象的概念,设计出更加优秀的程序和项目。

希望我们在今后的学习和工作中能够不断提升自己,成为优秀的程序员。

实验报告格式_类与对象

实验报告格式_类与对象
西安财经学院信息学院
《面向对象方法及程序设计》实验报告
实验名称类与对象实验室实验楼317实验日期2015-11-17
一、实验目的与要求
1、掌握C++语言源程序的编辑、编译、链接及运行步骤。
2、掌握类的定义和使用方法,掌握类对象的声明和使用方法。
3、掌握对象的初始化和赋值的方法。
4、了解成员函数的特性、友元。
三、实验环境
四、实验步骤
五、实验数据记录及分析(可包括错误提示,原因,如何解决等)
六、实验总结
七、代码清单
5、静态成员的使用方法。
6、理解和掌握this指针的用法。
7、理解和掌握const类型数据的使用。
二、实验内容
1、定义一个点类Point,要求使用友元函数实现求2点之间的距离。
2、设计一个Student类,包含学生学号,姓名,出生日期,成绩1,成绩2等基本信息,计算学生的平均成绩,学生的出生日期要求使用另外一个Year类。
3、定义一个FDAccout类,用以描述一个定期存折(fixed deposit),实现现金支取,余额合计,信息显示等,存折基本信息包括账号,账户名称,存款余额,存款期限(以月为单位),存款利率(以百分点为单位等பைடு நூலகம்。要求程序实现账户的信息验证,存钱,取钱,利息计算等功能。
4、编写设计一个People(人)类。该类的数据成员有年龄(age)、身高(height)、体重(weight)和人数(num),其中人数为静态数据成员,成员函数有构造函数(People)、进食(Eatting)、运动(Sporting)、睡眠(Sleeping)、显示(Show)和显示人数(ShowNum)。其中构造函数由已知参数年龄(a)、身高(h)和体重(w)构造对象,进食函数使体重加1,运动函数使身高加1,睡眠函数使年龄、身高、体重各加1,显示函数用于显示人的年龄、身高、体重,显示人数函数为静态成员函数,用于显示人的个数。假设年龄的单位为岁,身高的单位为厘米,体重的单位为市斤,要求所有数据成员为protected访问权限,所有成员函数为public访问权限,在主函数中通过对象直接访问类的所有成员函数。

C++上机实验报告(类和对象Ⅱ)

C++上机实验报告(类和对象Ⅱ)

C++上机实验报告实验名称:类和对象专业班级:姓名:学号:实验日期:目录1.实验目的2.实验内容3.程序代码4.调试结果5.实验心得1.实验目的(1)进一步加深对类和对象的理解;(2)掌握类的构造函数和析构函数的概念和使用方法;(3)掌握对象数组,对象的指针及其使用方法;(4)掌握友元的概念和使用;(5)了解类模板的使用方法。

2.实验内容(1)有以下程序:#include<iostream.h>class Student{public:Student(int n,float s):num(n),score(s){}void change(int n,float s){num=n;score=s;}void display(){cout<<num<<" "<<score<<endl;}private:int num;float score;};void main(){Student stud(101, 78.5);stud.display();stud.change(101,80.5);stud.display();}Ⅰ.阅读此程序,分析其执行过程,然后上机运行,对比输出结果;Ⅱ.修改上面的程序,增加一个fun函数,改写main函数。

在main函数中调用fun函数,在fun函数中调用change和display函数。

在fun函数中使用对象的引用(Student&)作为形参。

(2)商店销售某一商品,商店每天公布统一的折扣(discount)。

同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者还可以享受9.8折优惠。

现已知当天3个销货员销售情况为销货员号(num)销货件数(quantity)销货单价(price)101 5 23.5102 12 24.56103 100 21.5 请编些程序,计算出当日此商品的总销售款sum以及每件商品的平均售价。

C#实验报告类与对象

C#实验报告类与对象

实验项目名称:类与对象一、实验目的和要求1.C#程序编写的过程和基本要求;2.面向对象的程序设计思维(基本思想);3.类的组成、声明和定义;4.对象的定义(类的实例化);5.理解字段和属性,属性的定义以及相对应的访问修饰符;6.方法以及方法的重载;7.构造函数的使用;8.类的继承(重点);9.类的多态性(难点)二、实验内容和过程1.上机实验1:问题描述:编写一个学生类,其中包括3个数据成员:学号、姓名、年龄,以及若干成员函数。

同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:使用成员函数实现对数据的输出(显示学生的相关信息);使用构造函数实现对数据的输入(可以重载多个构造函数并使用)。

提示:三个成员变量使用什么访问控制符?提高要求:将三个成员变量定义为属性,并且学号和姓名只能读不能写,年龄可写,但是要符合18—26 之间。

解决方法说明:①在学生类中,定义学号、姓名、年龄相关的字段以及属性;②编写带三个参数的构造函数,实现对学生学号、姓名、年龄数据的输入;③重载构造函数,带两个参数,实现对学生学号、姓名的输入;④编写成员函数print(),实现对数据的输出;⑤编写主函数,使用这个类,实现对学生数据的赋值和输出;●实例化学生类;●使用对象.print()方法。

关键代码及注释:class student{protected string stuNum;protected string stuName;protectedintstuAge;public string StuNum//定义属性:学号{get{returnstuNum;}}public string StuName //定义属性:姓名{get{returnstuName;}}public intStuAge//定义属性:年龄{get{returnstuAge;}set{if (value >= 18 || value <= 26) //限制年龄{stuAge = value;}}}public student(string number, string name, int age) //构造函数1,实现对数据的输入{stuNum = number;stuName = name;stuAge = age;Console.W riteLine("请输入学号");stuNum = Console.ReadLine();Console.W riteLine("请输入姓名");stuName = Console.ReadLine();Console.W riteLine("请输入年龄");stuAge = Convert.T oInt32(Console.ReadLine());}public student(string number, string name) //构造函数2,实现对数据的输入{stuNum = number;stuName = name;Console.W riteLine("请输入学号");stuNum = Console.ReadLine();Console.W riteLine("请输入姓名");stuName = Console.ReadLine();}public void print() //print方法,输出学生信息{if (stuAge != 0){Console.W riteLine(stuName + "的学号是:" + stuNum + ",年龄是:" + stuAge); Console.ReadLine();}else{Console.W riteLine(stuName + "的学号是:" + stuNum);Console.ReadLine();}}public static void Main() //主函数,使用学生类{student A = new student("209", "A", 18);A.print();student B = new student("11", "B");B.print();}}出错调试说明:排除错误的数据类型数据的输入,没有出错。

(2021年整理)实验二类的定义与对象的使用

(2021年整理)实验二类的定义与对象的使用

(完整版)实验二类的定义与对象的使用编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整版)实验二类的定义与对象的使用)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整版)实验二类的定义与对象的使用的全部内容。

(完整版)实验二类的定义与对象的使用编辑整理:张嬗雒老师尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布到文库,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是我们任然希望(完整版)实验二类的定义与对象的使用这篇文档能够给您的工作和学习带来便利.同时我们也真诚的希望收到您的建议和反馈到下面的留言区,这将是我们进步的源泉,前进的动力.本文可编辑可修改,如果觉得对您有帮助请下载收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为 <(完整版)实验二类的定义与对象的使用> 这篇文档的全部内容。

实验 2 面向对象编程练习(1)一、实验目的1.理解类、对象的概念以及两者之间的联系和区别2。

能够熟练的根据应用要求定义类和创建对象2.理解面向对象的封装性,熟练掌握private、缺省、protected、public这四个权限访问限定词的用法。

二、实验要求1.编写体现一个学生信息的JavaBean。

(1) 用private关键字来修饰Student中的属性:学号、姓名、年龄、籍贯、专业和班级.(2) 用public关键字来修饰对每一个属性进行设置和获取的方法(setXXX()和getXXX()方法).2.编写一个用于描述梯形的类(Trapezoidal)属性:上底、下底、高方法:计算面积、计算周长定义测试类,创建梯形对象,对属性进行赋值(通过构造方法完成),输出该梯形的面积和周长。

C++类与对象实验报告

C++类与对象实验报告
Guangxi University of Science and Technology
实验报告
实验课程:C++程序设计教程
实验内容:类与对象
院 (系):
专 业:
班 级:
学生姓名:
学 号:
指导教师:
2013年11月4日
一.实验目的:
1.掌握声明类的方法,类和类的成员概念以及定义对象的方法;
2.掌握成员函数的实现与调用方法。;
strcpy(name,);
cout<<"the student :"<< <<endl;
}
void print()
{
cout<<"destrct"<<name<<"/"<<adress<<"/"<<num<<endl;
}
~phone()
{
cout<<"delete the room"<<endl;
}
};
int main()
{
column c(3,10);
c.prin();
return 0;
}
(2)再定义计算圆柱面积与体积的私有成员函数,在公有的成员函数prin 中调用,在
main 函数中输入半径r及高h,请设计程序并调试。
1.要点分析:
先上机调试该程序,初步理解和明白类的定义和初始化类的一个对象
}
};
int main()
{
column c(3,10);
c.prin();

c++类的实验报告

c++类的实验报告

成都工业学院·计算机工程学院《类和对象(一)》实验报告2)将输入和输出的功能改为由成员函数实现;3)在类体内定义成员函数2、分别给出如下的3个文件要求:完善改程序,在类中增加一个对数据成员赋初值的成员函数set_value。

上机调试并运行。

注意:此代码是1—2两题的源代码#include<iostream>using namespace std;class Time{ public:int hour;int minute;int sec;};int main(){Time t1;cout<<"please input the time"<<endl;cin>>t1.hour>>t1.minute>>t1.sec;cout<<t1.hour<<":"<<t1.minute<<":"<<t1.sec<<endl;return 0;}3、需要求3个长方柱的体积,请编一个基于对象的程序。

数据成员包括length(长)、width(宽)、height(高)。

要求用成员函数实现以下功能:1)由键盘分别输入3个长方柱的长、宽、高;2)计算长方柱的体积;3)输出3个长方柱的体积;请编一个程序,上机调试并运行。

错误:1、再类的定义时,前面添上(),以为其是函数,后面没有加冒号,还停留在c中的结构体;总结:1、在定义类时,后方记得大括号后记得加分号,也别加双括号,不是函数;2、在类外定义函数时记得加“板凳”运算符;4、自定义一个正方体类,它具有私有成员x,表示正方体的每个面的正方形的边长。

提供构造函数以及计算正方体的体积和表面积的公有成员函数,并编制主函数,对正方体类进行使用:说明正方体类对象,输入棱长,计算其体积和表面积并显示结果。

[C++]类与对象实验报告

[C++]类与对象实验报告

+Person( const Person &p )+~Person()+SetName( const char *name ):void+SetAge( int age ):void+setSex( char sex ):void+* GetName() :char+GetAge() :int+GetSex() :char+ShowPerson() :void运行结果3.程序的类结构图为:Box-str_name[20]:char-length:float-width:float-height:float-volume:float+Box()+Box(const char* name,float l,float w,float h)+Box(const Box &p)+~Box(){volume=length*width*height;}void Box::show_volume(){cout<<"长方柱"<<str_name<<"的体积是:"<<volume<<"\n"; }int main(){Box *p1;cout<<"分别输入长方柱的长、宽、高:"<<endl;p1=new Box;//动态生成一个 Person 对象p1->Setlength();p1->Setwidth();p1->Setheight();p1->operate_volume();p1->show_volume();delete p1; //释放 p1 指针指向对象所占的空间return 0;}4.程序的类结构图为:R-R1:int+R(int r1=0)+print():void+print()const:void5. 程序的类结构图为:Test+Test(int=0)+print()const:void【实例编程】List#*m_pFirst:Node-Node+Node(const int &data=0,Node*next=NULL) +*m_nNext:Node+m_nData:int+List()+~List()+Append(const int &e,int index=0):bool +Prepend(const int &e,int index=1):bool +Remove(int &e,int inedx=1):bool+Find(int &e,int index=1):bool+PrintList():void。

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

.
西华大学实验报告(计算机类)
开课学院及实验室:机械工程与自动化 实验时间 : 年 月 日
一、实验目的
1. 掌握类和对象的定义和使用方法;
2. 掌握定义构造函数和析构函数、重载构造函数的方法;
3. 掌握静态成员和常类型的语法;
4. 能正确理解public, private 和protected 三种访问权限及继承方式的区别;
5. 掌握程序多文件的组织方法。

二、内容与设计思想
上机实践内容:
定义学生类Student ,用于存放并输出学生的姓名、学号、年龄、程序设计的成绩并统计学生人数。

1) 定义缺省构造函数、带参数的构造函数和拷贝构造函数给学生的姓名、学号、年龄、程序设计的成绩分配内存并赋值;
2) 定义函数输出学生信息;
3)定义析构函数;
4) 在主函数中定义多个对象并调用上述成员函数进行测试;
5)采用头文件和源文件对程序进行组织。

三、使用环境
操作系统:Windows XP
C++环境:Visual C++ 6.0
四、核心代码及调试过程
#include <iostream>
#include<string>
using namespace std;
static int count=0;
class Student{
private:
string name;
long num;
int age;
int score;
public:
Student(){
name="印成波";
num=224;
age=21;
score=95;
count++;
}
Student(string Name,long Num,int Age,int Score){ name=Name;
num=Num;
age=Age;
score=Score;
count++;
}
Student(Student &a);
void show(){
cout<<"姓名:"<<name<<endl;
cout<<"学号:"<<num<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"成绩:"<<score<<endl;
}
~Student(){}
};
Student::Student(Student &a){
name=;
num=a.num;
age=a.age;
score=a.score;
}
void main() {
Student student1;
student1.show();
Student student2("student num1",555,22,99);
student2.show();
Student student3(student2);
student3.show();
cout<<"学生人数:"<<count<<endl;
}
五、总结
通过对本次上机的过程,使我对构造函数、析构函数、拷贝构造函数等有了一定的了解。

在编程的过程中遇见了许多的麻烦,通过翻阅课本进行了解决。

在以后的学习中还要多多加强。

六、附录。

相关文档
最新文档