问题及代码:
#include <iostream>
using namespace std;
class base
{
private:
int m;
public:
base() {};
base(int m) //this指针
{
this->m=m;
}
int get()
{
return m;
}
void set(int m)
{
this->m=m;
}
};//base_end
int main()
{
base *ptr;
ptr=new base[2]; //用 new 开辟一个存放对象数组的存储空间
ptr->set(30); //base[0]=30
ptr=ptr+1; //ptr指针 指向base[1]
ptr->set(50); //base[1]=50
base a[2]= {1,9}; //新建一个对象数组,分别赋初值 a[0]=1,a[1]=9
cout<<a[0].get()<<","<<a[1].get()<<endl; //输出a[0],a[1]
cout<<ptr->get()<<","; //此时ptr指向base[1],所以输出50
ptr=ptr-1; //指向base[0]
cout<<ptr->get()<<endl;
delete[] ptr; //切记,删除new开辟的存储空间
return 0;
}
运行结果:
知识点总结:
把指针与对象数组联系起来。
过程详解如上注释。