今天学习了类和对象,类是在结构的基础上发展起来的,所以可以看见写类的格式和结构的格式十分类似;
类的关键字是class,类中包括有数据成员和成员函数,类中的关键字public,private,protected分别限制了类中数据的使用范围;
public使得数据可以在公有范围内使用(即类内和类外);
private使得数据只能在类内使用;
protected使得数据只能在类及其派生类中使用;(以上三种关键字都可以重复使用,且不受顺序影响)
而在类的本身的内部是不可以去初始化数据的,在类的外部去定义函数时应写作xx::xx(int xx,.......){ };
类的操作允许在类中出现已定义的类的数据(但只能是指针变量)
在类中的访问一般会优先去访问private中的数据;
this指针:
此指针只能去指向当前对象,且当成员数据与函数成员中参数名重复时可以用此指针来区分;
构造函数和析构函数:
构造函数形式:类名(){}
析构函数形式:~类名(){}
构造函数主要负责对成员初始化,但无返回类型,可有含有参数,但调用时必须保证一一对应。
析构函数用于去释放内存,无参数,无返回类型,当有多个对象时,先产生的一般会后消亡。
下面是用类写的几个练习:
定义了一个普通变量求和,一个用指针访问求和,以及将数组赋值给类中成员函数用于求和。
int arraysum(int c[],int n)
{
int total=0;
for(int i=0;i<n;i++)
{
total+=c[i];
}
this->total2=total;
cout<<"total2="<<total2<<endl;
return total;//数组元素求和
int add(A *ps)
{
return ps->g + ps->h;
}//指针访问求和
目标:用类完成一个完整的问题,预习后面内容,复习数组,链表。