c++类和对象实验报告材料

合集下载

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++中类和对象的概念,掌握了类的定义和对象的创建方法,熟悉了类的成员变量和成员函数的使用,学会了通过对象调用成员函数实现数据的封装和操作。

C++实验报告(1)类和对象

C++实验报告(1)类和对象

C++程序设计实验报告一、实验目的(1)掌握声明类的方法,类和类的成员的概念以及定义对象的方法(2)初步掌握用类和对象编制基于对象的程序。

(3)学习检查和调试基于对象的程序。

二、实验环境Visual Studio 2012三、实验步骤初步建立一个工程——声明类及类函数—写主函数—最后编译——调试执行过程中的各个问题——输出结果。

四、实验结果(含测试用例、测试结果)附:源代码C++谭浩强第八章第4题# include<string>using namespace std; class Student{public:void set_value();void display(); private:int num;string name;char sex;};# include<iostream># include"student.h"using namespace std;void Student::set_value(){cin>>num;cin>>name;cin>>sex;}void Student::display(){cout<<"num:"<<num<<endl; cout<<"name:"<<name<<endl; cout<<"sex:"<<sex<<endl;}# include<iostream># include"student.h"int main(){Student stud;stud.set_value();stud.display();return 0;}第九章第9题# include<iostream>using namespace std;class Shopping{public:static double averge();static int display();private:int num;double quantity;double price;static double discount;static double sum;static double n;}stu[3];double Shopping::sum=2562.22;; double Shopping:: n=117;double Shopping::averge(){return (sum/n);}int Shopping:: display(){cout<<"sum:"<< Shopping::sum<<endl; cout<<"price:"<< Shopping::averge()<<endl; }int main(){Shopping stu[3]={Shopping (101,5,23.5),Shopping (102,12,24.56),Shopping (103,100,21.5)};cout<< Shopping::averge()<<endl;}。

C++类和对象实验报告

C++类和对象实验报告

计算机科学与技术实验报告实验二类和对象(1)姓名:易XX 班级:计科二班学号:2015110121实验目的:深入理解类和对象,学会定义类,申明私有、公有变量,学会定义对象,并调用成员函数,解决实际问题。

实验内容:(一)、题目要求:定义一个描述角度的类CAngle,包含的内容如下:(1)私有成员变量value,表示角度,类型为double;(2)公有成员变量SetValue,实现功能是使用形参为value赋值。

声明为:viod SetValue(double);(3)公有成员函数GetCos,实现功能计算余弦值,并作为返回值返回。

声明为 double GetCos();编程实现如下功能:定义一个Cangle类的对象deg,调用成员函数设置deg的角度为30度,调用成员函数计算并输出deg的余弦值。

代码:#include<iostream>#include<cmath>using namespace std;#define PI 3.1415 //定义宏常量PIclass CAngle{double value; //定义角度public:void Setvalue(double x){value =x/180*PI; //把角度转化为弧度}double Getcos(){return ( cos(value) ); //计算cos值}};int main(){CAngle deg; //定义一个Cangle类的对象degdeg.Setvalue(30);cout<<deg.Getcos()<<endl;return 0;}运行结果:(二)、题目要求:定义一个网上购书订单类BookOrder,包含的内容:(1)私有成员变量BookID,表示图书编号,类型为char[6];(2)私有成员变量Quantity,表示图书的数量,类型为int;(3)公有成员变量Price,表示图书的单价,类型为double;(4)公有函数成员BookInit,实现使用参数为成员变量赋值,声明为viod BookInit(char*,int,double);(5)公有成员函数BookInfo,实现显示订单信息,包括图书编号、单价、数量、总价。

C++实验报告类与对象

C++实验报告类与对象

成都学院实验报告课程名称C++向对象程序设计实验名称类与对象姓名班级 1学号指导教师设计时间2016年4月5日计算机工程学院1.实验目的1) 掌握声明类的方法,类和类的成员的概念以及定义对象的方法。

2) 初步掌握用类和对象编制基于对象的程序。

3) 学习检查和调试基于对象的程序。

2.实验内容1) 有以下程序:#include<iostream>using namespace std;class Tim{public:int hour;int minute;int sec;};int main(){Time t1;cin>>t1.hour;cin>>t1.minute;cin>>t1.sec;cout<<t1.hour<<”:”<<t1.sec<<endl;return 0;}改写程序,要求:1.将数据成员改为私有的;2.将输入和输出的功能改为由成员函数实现3.在类体内定义成员函数然后编译和运行程序。

请分析什么成员应指定为公用的?什么成员应指定为私有的?什么函数最好放在类中定义?答案:用于改变类状态的成员应该定义为公有,用于保存类状态的成员应该定义为私有,简单的函数最好在类中定义,有一定工作量的函数放在外面定义。

#include<iostream>usingnamespace std;class Time{private:int hour;int minute;int sec;public:void setdate(){cin>>hour;cin>>minute;cin>>sec;}void display(){cout<<hour<<":"<<minute<<":"<<sec<<endl;}};int main(){Time t1;t1.setdate();t1.display();return 0;}2)分别给出如下的3个文件student.h1.//student.hClass Student{Public:Void display()Private:Int num;Char name[20];Char sex;};2.包含成员函数定义的源文件student.cpp//student.cpp#include<iostream>#include”student.h”Void Student::display(){Cout<<”num:”<<num<<endl;Cout<<”name:”<<name<<endl;Cout<<”sex:”<<sex<<endl;};3.包含主函数的源文件main.cpp为了组成一个完整的源程序,应当有包含主函数的源文件//main.cpp#include<iostream>#include”student.h”Int mian(){Student stud;Stud.display();Return 0;};请完善该程序,在类中增加一个队数据成员赋初值的成员函数set_value.上机调试并运行。

C++类和对象实验报告

C++类和对象实验报告

C++类和对象实验报告河南⼯业⼤学《⾯向对象程序设计》实验报告专业班级:学号:姓名:实验单元⼀类和对象实验⼀标准控制台输⼊输出实验时间:2016.9.22【实验⽬的】1、熟悉Dev-Cpp编程环境。

2、编写简单的输⼊输出语句。

3、熟练使⽤算术运算符。

4、能够编写简单的判断语句。

5、掌握类、对象、数据成员、成员函数的基本概念。

6、能够进⾏类的定义。

【实验环境】Dev-C++。

【实验内容】1.编写C++程序,实现输⼊两个整数,输出两个整数的加、减、乘、除结果;详细的注释,完整的输出显⽰。

2.编写NumberA类,实现两个整数的加减乘除运算。

构造函数实现两整数a,b赋值。

【详细分析】第⼀题1.定义两个变量,为保证商的顺利输出选择double型,直接选择输出各项和差商积。

第⼆题1.构造⼀个NumberA类,构造各个成员函数包括求差,求和,求积,求商。

各个成员函数具有各⾃的功能。

2.在main函数中创建NumberA的⼀个对象number,并以number对NumberA中的各个成员函数进⾏调⽤。

【实验源码】第⼀题#includeusing namespace std;//using的声明int main()double number1,number2;//定义整型变量cout<<"请输⼊两个整数"<cin>>number1>>number2;cout<<"两数之和为:";cout<cout<<"两数之差为:";cout<cout<<"两数之商为:";cout<cout<<"两数之积为:";cout<return 0;}第⼆题#includeusing namespace std;//using的声明class NumberA//创建⼀个NumberA类{ public://构造各个成员函数void sum(int a,int b)//求和函数{int sum;sum=a+b;cout<<"两数之和为:";cout<}void cha(int a,int b)//求差函数{int cha;cha=a-b;cout<<"两数之差为:";cout<}void ji(int a,int b)//求积函数int ji;ji=a*b;cout<<"两数之积为:";cout<}void shang(double a,double b)//求商函数{double shang;shang=a/b;cout<<"两数之商为:";cout<}};int main(){int a,b;cout<<"请输⼊两个整数:"<cin>>a>>b;NumberA number;//将NumberA类赋予number//调⽤NumberA类中的各个成员函数number.sum(a,b);number.cha(a,b);number.shang(a,b);number.ji(a,b);return 0;}【实验结果】第⼀题结果第⼆题结果【实验体会】第⼀次C++实验第⼀次接触类的概念,做这⼀个计算器的⼩程序,感觉构造⼀个类相⽐直接写函数步骤更加繁琐了⼀些。

c 类与对象 实验报告

c  类与对象 实验报告

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

本实验旨在通过实际案例,深入理解 C++ 类与对象的概念和使用方法。

二、实验目的1. 掌握类的定义和对象的创建。

2. 熟悉类的成员变量和成员函数的使用。

3. 理解构造函数和析构函数的作用和使用。

4. 学会使用访问权限控制类的成员。

5. 掌握类的继承和多态的概念。

三、实验过程1. 类的定义和对象的创建在 C++ 中,类是一种用户自定义的数据类型,它由数据成员和成员函数组成。

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

对象是类的具体化,它可以调用类的成员函数来完成特定的操作。

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

成员函数是类的行为,它们用于实现对象的操作。

通过成员变量和成员函数的配合使用,我们可以实现对对象的控制和操作。

3. 构造函数和析构函数的作用和使用构造函数是一种特殊的成员函数,它在对象创建时被调用,用于初始化对象的成员变量。

析构函数也是一种特殊的成员函数,它在对象销毁时被调用,用于释放对象占用的资源。

构造函数和析构函数的使用可以保证对象的正确初始化和销毁。

4. 访问权限控制类的成员在 C++ 中,类的成员可以设置为私有、保护或公有。

私有成员只能在类的内部访问,保护成员可以在类的内部和派生类中访问,公有成员可以在任何地方访问。

通过访问权限控制,我们可以限制对类的成员的访问,提高程序的安全性和可维护性。

5. 类的继承和多态的概念类的继承是一种重要的面向对象的特性,它允许我们创建一个新的类,从已有的类派生而来。

派生类继承了基类的成员变量和成员函数,并可以添加新的成员变量和成员函数。

多态是指在继承关系中,派生类可以重写基类的成员函数,实现不同的行为。

通过继承和多态,我们可以实现代码的重用和灵活性。

四、实验总结通过本次实验,我深入理解了 C++ 类与对象的概念和使用方法。

[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。

1C#实验报告 类与对象

1C#实验报告 类与对象

类的 dial()方法; 5 界面设计; 6 实例化 Telephone 类和 Mobilephone 类; 7 编写事件代码,调用相应的方法以及在 MessageBox.Show()方法里的“内容”
这一参数里调用相应的字段; 8 调试; 9 把步骤④里的 override 关键字改成 new 关键字; 10 调试并与步骤⑧的结果比较。 程序界面设计:
{
mobilephone.ring();
}
private void button9_Click(object sender, EventArgs e)
{
mobilephone.playmp3();
}
}
public class Telephone
{
public string numbers = "13800138000"; //字段numbers
{
MessageBox.Show(mobilephone.attribution, "所在地", MessageBoxButtons.OK);
}
private void button7_Click(object sender, EventArgs e)
{
mobilephone.dial();
}
private void button8_Click(object sender, EventArgs e)
stuAge = Convert.ToInt32(Console.ReadLine());
}
public student(string number, string name) //构造函数2,实现对数据的输入
{
stuNum = number;

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 实验报告 类和对象

c 实验报告 类和对象

c 实验报告类和对象C 实验报告类和对象引言:在计算机科学领域中,面向对象编程(Object-Oriented Programming,简称OOP)是一种常用的编程范式。

它将现实世界中的事物抽象成对象,并通过类来定义对象的属性和行为。

本实验报告将介绍C语言中的类和对象的概念,以及如何在C语言中实现面向对象编程。

一、类和对象的概念1.1 类的定义在面向对象编程中,类是一种用户自定义的数据类型,它由属性和方法组成。

属性是类的成员变量,用于描述对象的状态;方法是类的成员函数,用于描述对象的行为。

类是对象的模板,通过实例化类可以创建多个具有相同属性和方法的对象。

1.2 对象的定义对象是类的实例,它是类中属性和方法的具体表现。

每个对象都有自己的属性值,可以调用类中定义的方法来执行特定的操作。

通过对象,我们可以访问和修改类中的属性,以及调用类中的方法。

二、类和对象的实现2.1 结构体的应用在C语言中,我们可以使用结构体来实现类的属性。

结构体是一种自定义的数据类型,可以包含多个不同类型的成员变量。

通过定义结构体,我们可以将多个属性组合在一起,形成一个完整的数据结构。

2.2 函数的应用在C语言中,我们可以使用函数来实现类的方法。

函数是一段可重复使用的代码,可以完成特定的任务。

通过定义函数,我们可以将一系列操作封装起来,供对象调用。

三、面向对象编程的优势3.1 封装性面向对象编程中的封装性使得对象的内部细节对外部是隐藏的,只有通过对象提供的接口才能访问和修改对象的属性。

这样可以保护对象的数据不被非法访问和修改,提高了程序的安全性。

3.2 继承性通过继承,一个类可以从另一个类中继承属性和方法。

这样可以减少代码的重复性,提高代码的复用性。

同时,继承也使得类与类之间的关系更加清晰,便于代码的维护和扩展。

3.3 多态性多态性是面向对象编程的一个重要特性,它使得一个对象可以以多种形态存在。

通过多态性,我们可以通过基类的指针或引用来操作派生类的对象,实现代码的灵活性和扩展性。

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++实验类与对象的应用

GDOU-B-11-112广东海洋大学学生实验报告书实验名称实验1:类与对象的应用课程名称C++程序设计成绩学院(系)专业计算机应用班级计应091学生姓名学号200936626115 实验地点实验日期2010/9/27一.实验目的1.掌握类的定义的基本格式和类成员的访问控制。

2.掌握对象定义和利用构造函数对对象的数据成员进行初始化的方法。

3.了解成员函数的定义与使用。

二.实验内容1.定义一个关于日期的类,然后声明对象,判断该日期是否为闰年并输出。

#include<iostream>using namespace std;//说明部分class TDate{public:void SetDate(int y,int m,int d);int IsLeapYear();void Print();private:int year,month,day;};//实现部分void TDate::SetDate(int y,int m,int d){year=y;month=m;day=d;}int TDate::ISLeapYear(){return ((year%4==0)&&((year%100!=0)||(year%400!=0))。

)}void TDate::Print(){cout<<year<<","<<month<<","<<day<<endl;}2.定义一个关于日期时间的类,并在类中定义构造函数、析构函数。

#ifndef DATE_H#define DATE_Hclass Date {public:Date( int = 1, int = 1, int = 1900 ); void print(); void setDate( int, int, int );void setMonth( int );int getMonth();void setDay( int );int getDay();void setYear( int );int getYear();bool isLeapYear();int monthDays();int nextDay();private:int month;int day;int year;};#endif#include <iostream>#include <stdio.h>using std::cout;#include "date.h"Date::Date( int m, int d, int y ){setDate( m, d, y );}int Date::getDay(){return day;}int Date::getMonth(){return month;}int Date::getYear(){return year;} void Date::setDay( int d ){if ( month == 2 && isLeapYear() )day = ( d <= 29 && d >= 1 ) ? d : 1;elseday = ( d <= monthDays() && d >= 1 ) ? d : 1;}void Date::setMonth( int m ){month = m <= 12 && m >= 1 ? m : 1;}void Date::setYear( int y ){year = y <= 2010 && y >= 1900 ? y : 1900;}void Date::setDate( int mo, int dy, int yr ){setMonth( mo );setDay( dy );setYear( yr );}void Date::print(){FILE * fp;static int i=1;if((fp=fopen("e:\\result.txt","a"))==NULL){printf("Openfile failed!\n");}fprintf(fp,"%d-%d-%d\n",month,day,year);fclose(fp);cout << month << '-' << day << '-' << year << '\n'; } // end function print/* Write function nextDay here */int Date::nextDay(){setDay(day+=1);if(day==1)setMonth(month+=1);if(month==1&&day==1)setYear(year+1);return 0;}bool Date::isLeapYear(){if ( year % 400 == 0 || ( year % 4 == 0 && year % 100 != 0 ) )return true;elsereturn false; } int Date::monthDays(){const int days[ 12 ] = { 31, 28, 31, 30, 31, 30, 31, 31, 30,31, 30, 31 };return month == 2 && isLeapYear() ? 29 : days[ month - 1 ];}#include <iostream>using std::cout;using std::endl;#include "date.h"int main(){const int MAXDAYS = 160;Date d( 10, 2, 2002 );for ( int loop = 1; loop <= MAXDAYS; ++loop ) {d.print();d.nextDay();} getchar();cout << endl;return 0;}3.设计一个学生类,完成输入/输出的功能,要求:(1)其属性有:学号、姓名、专业、班级、性别、成绩等;(2)成员函数要实现信息的录入和显示。

c++类和对象实验报告哦

c++类和对象实验报告哦

实验2 类和对象(1)班级学号(最后两位)姓名成绩一、实验目的1.掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2.掌握类对象的定义,对象的初始化;3.理解类的成员的访问控制的含义,公有、私有和保护成员的区别;4.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。

能够根据给定的要求定义类并实现类的成员函数;二、实验内容1.分析找出以下程序中的错误,说明错误原因,给出修改方案使之能正确运行。

#include<iostream.h>class one{ int a1,a2;public:one(int x1=0, x2=0);};void main(){one data(2,3);cout<<data.a1<<endl;cout<<data.a2<<endl;}2.分析以下程序的错误原因,给出修改方案使之能正确运行。

#include <iostream.h>class Amplifier{float invol,outvol;public:Amplifier(float vin,float vout){invol=vin;outvol=vout;}float gain();};Amplifier::float gain() { return outvol/invol; }void main(){ Amplifier amp(5.0,10.0);cout<<"\n\nThe gain is =>"<<gain()<<endl;}3.定义盒子Box类,要求具有以下成员:可设置盒子形状;可计算盒子体积;可计算盒子的表面积。

4.定义计数器类Counter。

要求具有以下成员:计数器值;可进行增值和减值计数;可提供计数值。

类和对象实验报告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语言中类与对象的实验让我们更深入地理解了面向对象编程的思想,为我们今后的编程学习和实践打下了良好的基础。

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

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

C++实验报告-第四章-类与对象

C++实验报告-第四章-类与对象

C++实验报告实验4 类与对象一、实验目的1、掌握类的声明和使用2、掌握类的声明和对象的声明3、复习具有不同访问属性的成员的访问方式4、观察构造函数和析构函数的执行过程5、学习类的组合使用方法6、使用DEBUG调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序二、实验任务1、声明一个CPU类,包含等级rank、频率frequency、电压voltage等属性,有两个公有成员函数run、stop。

其中,rank为枚举类型CPU-Rank,声明为enum CPU-Rank{P1=1,P2,P3,P4,P5,P6,P7}, frequency为MHz的整数型,voltage为浮点型的电压值。

观察构造函数好析构函数的调用顺序。

2、声明一个简单的Computer类,有数据成员芯片cpu、存ram、光驱cdrom等,有两个公有成员函数run、stop。

cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。

3、设计一个用于人事管理的People类。

考虑到通用性,这里只抽象出所有类型人员都具有的属性:number编号、sex性别、birthday出生日期、id号等。

其中出生日期声明为一个日期类嵌子对象。

用成员函数实现对人员信息的录入和显示。

要求包括:构造函数和析构函数、拷贝构造函数、嵌成员函数、组合。

三、实验容任务1:首先声明枚举类型,在这里出现了知识性错误,不清楚具体应如何声明,经查询相关书籍,知道应在类外进行声明。

初次用类来进行编程,在概念上是有一些混乱的,例如构造函数和析构函数的调用顺序等。

在用debug单步调试后,明白其中道理。

源程序://Lab4_1.cpp#include<iostream>using namespace std;enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7};class CPU { //CPU类的定义private: //私有数据成员CPU_Rank rank;int frequency;float voltage;public: //外部接口CPU(CPU_Rank r,int f,float v) { //CPU类的构造函数rank=r;frequency=f;voltage=v;cout<<"构造了一个CPU!"<<endl;}~CPU() { //CPU类的析构函数cout<<"析构了一个CPU!"<<endl;}void run(){cout<<"CPU开始运行"<<endl;}void stop(){cout<<"CPU停止运行"<<endl;}};//主函数int main(){CPU a(P6,300,2.0); //建立CPU类的对象a.run();a.stop();return 0;}实验结果:从debug调试中可知,在创建类的对象时,首先调用其构造函数,之后,在其他成员函数调用结束后,对象的生存期结束,系统便自动调用析构函数,进行析构。

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++面向对象程序设计》实验报告报告题目:类和对象作者所在系部:计算机系作者所在专业:计算机科学与技术作者所在班级:作者学号:作者姓名:指导教师姓名:北华航天工业学院教务处制类和对象一.实验目的1、理解面向对象程序设计的基本概念;2、掌握类的定义;3、掌握对象的定义与使用。

二.实验内容及要求1、需要求3个长方柱的体积,请编写一个基于对象的程序。

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

要求用成员函数实现以下功能:(1)由键盘分别输入3个长方柱的长、宽、高;(2)计算长方柱的体积;(3)输出3个长方柱的体积。

请编写程序,上机调试并运行。

2、定义一个学生类Student,具体要求如下数据成员包括学号、姓名、数学成绩、英语成绩和C++成绩;成员函数包括✧设置学生的信息函数;✧输入学生的信息函数;✧输出学生的信息函数;✧计算学生的平均成绩的函数;在main函数中调用以上函数实现相应功能。

三.实验步骤1、本实验程序代码如下:#include<iostream>using namespace std;class Cuboid{private:float l1,l2,l3,w1,w2,w3,h1,h2,h3;double v1,v2,v3;public:void input();void count();void output();};int main(){Cuboid a;a.input();a.count();a.output();return 0;}void Cuboid::input(){cout<<"请输入第一个长方体的长宽高:";cin>>l1>>w1>>h1;cout<<endl<<"请输入第二个长方体的长宽高:";cin>>l2>>w2>>h2;cout<<endl<<"请输入第三个长方体的长宽高:";cin>>l3>>w3>>h3;}void Cuboid::count(){v1=l1*w1*h1;v2=l2*w2*h2;v3=l3*w3*h3;}void Cuboid::output(){cout<<"三个长方体的体积分别为:"<<v1<<","<<v2<<","<<v3<<endl; }程序的运行结果如下:2、本实验程序代码如下:#include<iostream>#include<string>using namespace std;class News{private:int num,i;string name[100];float math[100],English[100],c[100];double p[100];public:void input();void count();void output();};int main(){News a;a.input();a.count();a.output();return 0;}void News::input(){cout<<"请输入共有几位同学:";cin>>num;for(i=1;i<=num;i++){cout<<"请输入第"<<i<<"个同学的姓名和数学,英语,c++成绩:";cin>>name[i];cin>>math[i]>>English[i]>>c[i];}}void News::count(){for(i=1;i<=num;i++)p[i]=(math[i]+English[i]+c[i])/3;}void News::output(){for(i=1;i<=num;i++)cout<<"第"<<i<<"个学生的信息:"<<endl<<"姓名:"<<name[i]<<endl<<"数学成绩:"<<math[i]<<endl<<"英语成绩:"<<English[i]<<endl<<"c++成绩:"<<c[i]<<endl<<"平均成绩:"<<p[i]<<endl;}程序的运行结果如下:四.实验总结(总结本次实验收获是什么?遇到什么问题及如何解决的?有什么感想?看完请删除本行内容)本次实验主要收获是学会了如何使用类和对象,知道什么叫数据成员和成员函数。

c++类和对象实验报告材料

c++类和对象实验报告材料

实验一类和对象实验课程名:面向对象程序设计(C++)专业班级:学号::实验时间:实验地点:指导教师:2.设计一个带头结点的单链表类,要求:(1)生成一个整数线性表,实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知的存储空间)。

(2)设计一个测试主函数,实际运行验证所设计单链表类的正确性。

实验代码:#include<iostream>using namespace std;template <class T>struct Node{T data;Node<T> *next; //此处<T>也可以省略};template <class T>"<<endl;L1.Insert(4, 17);cout<<"插入元素后链表为:";L1.PrintList( );L1.Delete(8);cout<<"删除第8个元素后链表变为:";L1.PrintList( );return 0;}实验结果:3.设计一个不带头结点的单链表类,要求:(1)不带头结点单链表类的成员函数包括取数据元素个数、插入元素、删除所有值为k的元素、取数据元素。

(提示:要考虑在第一个数据元素结点前插入和删除第一个数据元素结点时与在其他位置插入和删除其他位置结点时的不同情况。

)(2)设计一个测试主函数,实际运行验证所设计循环单链表类的正确性。

实验代码:#include<iostream>using namespace std;cout<<"在链表第5个位置插入元素17后链表变为:";L.PrintList();L.Delete(8);cout<<"删除第8个元素后链表变为:";L.PrintList();return 0;}实验结果为:4.设计一个带头结点的循环单链表类,实现约瑟夫环问题;问题描述:设编号为1,2,…,n(n>0)个人按顺时针方向围坐-圈,每人持有一个正整数密码。

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

实验一类和对象
实验课程名:面向对象程序设计(C++)
专业班级:学号::
实验时间:实验地点:指导教师:
2.设计一个带头结点的单链表类,要求:
(1)生成一个整数线性表,实现将其分解成两个链表,
其中一个全部为奇数,另一个全部为偶数(尽量利
用已知的存储空间)。

(2)设计一个测试主函数,实际运行验证所设计单链表类的正确性。

实验代码:#include<iostream>
using namespace std;
template <class T>
struct Node
{
T data;
Node<T> *next; //此处<T>也可以省略
};
template <class T>
"<<endl;
L1.Insert(4, 17);
cout<<"插入元素后链表为:";
L1.PrintList( );
L1.Delete(8);
cout<<"删除第8个元素后链表变为:";
L1.PrintList( );
return 0;
}
实验结果:
3.设计一个不带头结点的单链表类,要求:
(1)不带头结点单链表类的成员函数包括取数据元素个
数、插入元素、删除所有值为k的元素、取数据元素。

(提示:要考虑在第一个数据元素结点前插入和删除第
一个数据元素结点时与在其他位置插入和删除其他
位置结点时的不同情况。

)
(2)设计一个测试主函数,实际运行验证所设计循环单链表类的正确性。

实验代码:
#include<iostream>
using namespace std;
cout<<"在链表第5个位置插入元素17后链表变为:";
L.PrintList();
L.Delete(8);
cout<<"删除第8个元素后链表变为:";
L.PrintList();
return 0;
}
实验结果为:
4.设计一个带头结点的循环单链表类,实现约瑟夫环问题;
问题描述:设编号为1,2,…,n(n>0)个人按顺时针方向围坐-圈,每人持有一个正整数密码。

开始时任意给出一个报数上限值m从第一个人开始顺时针方向自1起顺序报数。

报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人起重新自1起顺序报数.如此下去,直到所有人全部出列为止。

要求设计一个程序模拟此过程,并给出出列人的编号序列。

测试数据:
n=7,7个人的密码依次为3,1,7,2,4,8,4
初始报数上限值m=20
实验代码:
#include<iostream>
using namespace std;
struct Node//定义一个接点包含编号,密码,指针变量{
int num;
int code;
p->data=0;
i=0;
}
cout<<endl;
}
int main()
{
CirList list;
list.inputcode();
list.Done();
return 0;
}
实验结果:
*5.设计一个带头结点的循环双向链表类,要求:
(1)带头结点循环双向链表类的成员函数包括:取数据
元素个数、插入、删除、取数据元素。

(2)设计一个测试主函数,实际运行验证所设计循环双向链表类的正确性
实验代码:
实验结果:
*6.设计一个单链表实现一元多项式求和问题。

要求:(1)设计存储结构表示一元多项式;
(2)设计算法实现一元多项式相加。

实验代码:#include <iostream>
using namespace std;
struct Node
{
int e;
int x;
Node *next;
};
class LinkList
{
public:
LinkList(){first=new Node;first->next=NULL;}
LinkList(int a[],int b[],int n); //建立有n个元素的单链表
void PrintList(LinkList &L); //遍历单链表,按序号依次输出各元素
friend void function (LinkList &La,LinkList &Lb,LinkList &Lc);//友元函数,多项式的加减
private:
Node *first; //单链表的头指针
};
LinkList ::LinkList(int a[],int b[],int n)//生成多项式
{
first=new Node; //生成头结点
k->x=q->x;
o->next=k;
o=k;
p=q;
q=q->next;
}
}
if(q)o->next=q;
if(s)o->next=s;
}
实验结果:
三、结论
1)在类中有私有成员与共有成员,一般将类函数作为共有成员而把数据作为私有成员。

2)类中的私有成员只能被类函数引用,但友元函数可以引用类的私有成员,友元函数定义为:friend 函数类型函数名,一般在类中定义。

3)类模板用于类的定义相同只有类的成员类型不同,定义形式为:Template<class T> 类名{};在类外定义函数时:template<class T>
函数类型类名<T>::函数名(){}。

相关文档
最新文档