类的具体表现--对象

定义对象

对象是类的实例,它属于某个已知的类。因此定义对象之前,一定要先定义该对象的类。下面简单的介绍对象的定义。对象在确定了它的类以后,定义格式如下:
《类名》《对象名表》
其中,《类名》是特定的对象所属的类的名字,即所定义的对象是该类类型的对象。《对象名表》中可以是一个或多个对象名,多个对象名时用逗号分隔。也可以是指向对象的指针或引用名,数组。

student s1,s3;	//普通对象
student *ptr;	//对象指针
student student_array[10];//对象数组
s1.math = 100;			//对象属性
s1.setmath(100);		//成员函数
ptr->math =90;			//直接用指针访问成员
ptr->setmath(90);
(*ptr).math =90;		//间接访问成员
(*ptr).setmath(90);
student_array[0].math =100;
student_array[0].setmath(100);

使用对象

当定义一个对象后,就可以像变量一样来使用该对象。本节将主要讲述对象构成的数组和指向对象的指针的用法。
1.对象数组
对象数组是指每个数组元素都是对象的数组。也就是说,若某一个类有若干个对象,就可以把这一系列对象用一个数组来存放。
2.对象指针

指向自身的指针–this

this指针是指调用成员函数的类的对象的指针。在定义类对象时,每一个类的对象都会有·拥有一份独立的非静态的数据成员,而共享同一份成员函数的备份。显然,这样做的好处是可以节约存储空间。但是在程序运行过程中,类对象是如何将成员函数绑定到属于自己的数据成员上的呢?完成这项绑定任务的就是this指针。
定义一个Time类,包括属性:时,分,秒,方法void set()用于设置时间,方法void show()用于输出时间,构造函数用于初始化属性为0:0:0.

#include <iostream>
using namespace std;
class Time
{
private:
	int hour;
	int min;
	int sec;
public:
	 Time()
	{
	hour = 0;
	min = 0;
	sec = 0;
	}
	void set(int hour ,int min  ,int sec )
	{
		this->hour = hour;
		this->min = min;
		this->sec = sec;
	}
	void show()
	{
		cout<<hour<<min<<sec<<endl;
	}
};
int main()
{
	Time time1;
	time1.set(10,11,30);
	time1.show();
   return 0;
}