实验二 类和对象的定义与使用.doc
文本预览下载声明
天津大学本科生实验报告专用纸 天津大学本科生实验报告专用纸
学院 教育学院 年级2010专业 计算机 班级1 姓名李晓杰 学号3010212017
课程名称 类和对象的定义与使用 实验日期2010/04/01 成绩
同组实验者 类成员的说明或定义
protected:
类成员的说明或定义
public:
类成员的说明和定义
};2.对象的定义
(1)问题描述
对象是类的具体实例,是面向对象的核心概念,是组成程序的实体,在程序中使用的是利用类建立的对象,抽象的类是不能够使用的,因此必须将其具体化,这就是引进对象的原因。
对象的定义格式
类名 对象名表;
有关解释:
a.可以同时定义多个对象,不同对象之间用逗号相隔。
b.可以定义对象指针,格式如下:
类名 *对象指针=普通对象;
普通对象对类成员的调用
对象名.公有数据成员
对象名.公有成员函数(实参表)
对象指针
对象指针名-公有数据成员
对象指针名-公有成员函数(实参表);
不难看出,还可以如下格式的调用:
*对象指针名.公有数据成员
(*对象指针名.公有成员函数)(实参表);
(2)基本要求
{Time t1(10,13,56);
Date d1(12,25,2004);
t1.display(d1);
return 0;
}
测试结果:
例2
#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(){coutnum scoreendl;}
private:
int num;
float score;
};
int main()
{Student stud(101,78.5);
stud.display();
stud.change(101,80.5);
stud.display();
return 0;
}
测试结果:
3.对象的初始化和删除
(1)问题描述
对象建立的时候系统自动调用构造函数,对象在删除时候系统自动调用析构函数。构造函数与析构函数是类中特殊的成员函数,决定了类对象的创建、初始化、拷贝和删除。它们具有普通成员函数的许多特性,可以在类内说明和定义它们,也可以在类内进行说明而在类外定义它们。
基本要求
熟悉构造函数与析构函数,并且了解缺省构造函数和缺省析构函数,至于拷贝初始化构造函数观察它的三种调用时机。
(3) 实验程序
例4#include iostream.h
class Point
{
public:
Point(int i,int j) //构造函数
{
x=i;
y=j;
coutconstructor calledendl;
}
Point() //缺省构造函数
{
x=y=0;
coutdefault constructor calledendl;
}
~Point() //析构函数
{
coutdestructor calledendl;
Point(int i,int j) //构造函数
{
x=i;
y=j;
coutconstructor calledendl;
}
Point() //缺省构造函数
{
x=y=0;
coutdefault constructor calledendl;
}
~Point() //析构函数
{
coutdestructor calledendl;
}
Point(Point p)
{
x=p.x;
y=p.y;
cout“copy constructor called”endl;
}
void Setxy(int x,int y)
{
i=x;
j=y;
}
void Print();
private:
int x,y,i,j;
};
void Point::Print()
{
cout(x,y)endl;
}
void main()
{
Point p1(1,2);
Point p2(p1);
p2.Print();
}
测试结果:
};
A fun(A a)
{
coutHiendl;
int x=10;
int y=20;
A r(x,y);
return r;
}
void main()
{
A aa1(1,2),aa2;
A aa
显示全部