C++

C++

Du.h

class Du
{
public:
    Du();
    ~Du();

public:
    int m_iX;
    int m_iY;
};

 

 

Du.cpp

#include <iostream>
#include "du.h"
using namespace std;

Du::Du(){
    cout << "Du" << endl;
}

Du::Du(){
    cout << "~Du" << endl;
}

 

Test.cpp

#include <iostream>
#include <stdlib.h>
#include "du.h"
using namespace std;
int main(void)
{
    Du du[3];
    du[0].m_iX = 1;
    du[0].m_iY = 2;

    //分配到堆
    Du *d = new Du[3];
    d->m_iX = 11;
    d->m_iY = 22;

    d++;//指向第二个元素。
    d->m_iX = 111;
    d[0].m_iY = 222;//此时d[0]表示第二个元素,因为上面d++了。这样第一个元素就没法通过下标访问了,因为没有d[-1]。

    d[1].m_iX = 1111;//那么这里的d[1]就表示第三个元素了。以d[0]。
    d++;//指向第三个元素。
    d->m_iY = 2222;

    for (int i = 0; i < 3; i++)
    {
        cout << "du_x" << du[i].m_iX<< endl;
        cout << "du_y" << du[i].m_iY << endl;
    }


    for (int i = 0; i < 3; i++)
    {
        cout << "d-x" << d[i].m_iX << endl;
        cout << "d_y" << d[i].m_iY << endl;
        i--;
    }

    d++;//注意这里的指向。
    delete[]d;
    d = NULL;


    system("pause");
    return 0;
}

 

posted @ 2016-03-12 17:21  公子若不胖天下谁胖  阅读(115)  评论(0)    收藏  举报