对象引用与对象指针

来源:互联网 发布:南京软件开发公司 编辑:程序博客网 时间:2024/05/17 09:37

这学期学了C++.发现对于对象的引用不太清晰,加上之前C的指针没学好。所以干脆做个总结和对比。有错误的请指正!可怜


对象的引用

我们说引用就像是给变量起了一个别名,对这个引用的操作就和操作这个变量本身一样。这给我们在设计程序的时候带来了方便,而且节省了存储空间,(对比用实参传递给形参的方式,形参占用了存储空间)。对象也可以有引用,声明一个对象的引用方法是:


    类名 &对象名a=对象名b;
此时,对对象a的访问和操作就如同对对象b的访问和操作一样,对象a只是对象b的一个别名。例如我们已经定义好了一个链表结点类,则有以下程序段:
   Node b;//声明一个对象
   Node &a=b;//声明一个引用,&表示a是一个引用
   a.set(0);//效果与b.set(0)相同
   a.readi();//效果与b.readi()相同


对象指针

为了完成一个链表的类定义,我们需要学习一下对象指针的使用方法。所谓对象指针,就是一个指向对象的指针。由于类和结构的相似性,对象指针和结构指针的使用也是相似的。我们也是使用箭头操作符->来访问该指针所指向的对象的成员数据或成员函数。例如我们已经定义好了一个链表结点类,则有以下程序段:


   Node b;//声明一个结点对象
   Node *a=&b;//声明一个对象指针
   a->set(0);//效果与b.set(0)相同
   a->readi();//效果与b.readi()相同
至此,我们已经为编写一个链表类做好了准备。 
0 0