您的位置:首页 > 其它

第五周程序阅读

2015-04-01 20:31 225 查看
#include <iostream>
using namespace std;
class base
{
private:
    int m;
public:
    base() {};
    base(int m){this->m=m;}
    int get(){return m;}
    void set(int m){this->m=m;}
};//base_end

int main()
{
    base *ptr;
    ptr=new base[2];
    ptr->set(30);
    ptr=ptr+1;
    ptr->set(50);
    base a[2]= {1,9};
    cout<<a[0].get()<<","<<a[1].get()<<endl;
    cout<<ptr->get()<<",";
    ptr=ptr-1;
    cout<<ptr->get()<<endl;
    delete[] ptr;
    return 0;
}


运行结果:



学习心得:这个程序很好理解,this指针指向形参并复制,main函数里ptr指针指向一个新开辟的数组。接下来调用ptr所指向对象的成员函数。改变了数组的值。第一次没有改变值,因此还是照原来的输出,第二次输出调用了ptr所指向对象的成员函数,并且之前ptr+1,所以是从a[1]开始,然后减一,输出a[0]。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: