对象指针

xiaoxiao2021-02-28  97

#include<iostream> using namespace std; class student { public: student() { m_iNum=0; } int getNum() { return m_iNum; } private: int m_iNum; }; int main() { student *stu=new student; cout<<stu->getNum(); cout<<endl; cout<<stu[0].getNum(); cout<<endl; cout<<(*stu).getNum(); cout<<endl; }

其实在我看来,对象指针的知识和前面所说的对象数组其实有异曲同工之妙

这是因为数组的名字,就是一个指针,也就是数组的首地址

所以我写了三个等价的表达式

在这里我觉得比较新奇的就是第三种表示

因为

(*stu)请务必记得加(),因为不加的话是会报错的!

(*stu)在这里其实可以理解为成为了一个对象,类似从栈中实例出来的一个对象,可以直接通过.来进行访问它本身的函数成员。

转载请注明原文地址: https://www.6miu.com/read-59515.html

最新回复(0)