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