首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问c++中“.”与“->”的区别

2012-03-24 
请教c++中“.”与“-”的区别,有如下程序:关于虚函数#includeiostreamusingnamespacestdclassStudent{publ

请教c++中“.”与“->”的区别,
有如下程序:关于虚函数

#include   <iostream>
using   namespace   std;

class   Student
{
public:
virtual   void   print();
};

class   GStudent   :   public   Student
{
public:
virtual   void   print();
};

void   main()
{
Student   s1,   *ps;
GStudent   s2;

ps   =   &s1;
ps-> print();                     //调用s1的print函数

ps   =   &s2;
ps-> print();                     //调用s2的print函数
}
在这里调用的时候,我把ps-> print   改写成ps.print,编译后会出错。这是为什么呢?
.   和->   这两个操作有什么区别吗,
请教高手,
如果不好解释的话,请告诉我什么书上有相关说明,谢谢。

[解决办法]
《C++ Primer》,书后索引表里找. 和->
[解决办法]
. 用于變量訪問。

-> 用于指針訪問。
[解决办法]
ps-> print相当于(*ps).print c提供这个符号只是为了书写和理解的方便

热点排行