请教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提供这个符号只是为了书写和理解的方便