zoukankan      html  css  js  c++  java
  • C++——动态内存分配2-创建对象数组

    //创建对象数组

    #include<iostream>

    using namespace std;

    class Point

    { public:

           Point()

          {   X=Y=0;     cout<<"Default Constructor called."<<endl;     }

           Point(int xx,int yy)

          {   X=xx;     Y=yy;     cout<< "Constructor called."<<endl;     }

           ~Point()

          {   cout<<"Destructor called."<<endl;    }

           int GetX() {return X;}

           int GetY() {return Y;}

              void Move(int x,int y)

                       {  X=x;  Y=y;   }

      private:

           int  X,Y;

    };

     

    int main()

    {

         Point *Ptr=new Point[2];    //创建对象数组

         Ptr[0].Move(5,10);     //通过指针访问数组元素的成员

         Ptr[1].Move(15,20);   //通过指针访问数组元素的成员

         cout<<"Deleting..."<<endl;

         delete[ ] Ptr;               //删除整个对象数组

    }//运行结果:

    Default Constructor called.

    Default Constructor called.

    Deleting...

    Destructor called.

    Destructor called.

    //动态数组类,不需要预先设计好数组的大小

    #include<iostream>

    using namespace std;

    class Point

    { public:

           Point()

          {   X=Y=0;     cout<<"Default Constructor called."<<endl;     }

           Point(int xx,int yy)

          {   X=xx;     Y=yy;     cout<< "Constructor called."<<endl;     }

           ~Point()

          {   cout<<"Destructor called."<<endl;    }

           int GetX() {return X;}

           int GetY() {return Y;}

              void Move(int x,int y)

                       {  X=x;  Y=y;   }

      private:

           int  X,Y;

    };

    class ArrayOfPoints

    {

       public:

         ArrayOfPoints(int n)//根据实际来调整数组大小

         {   numberOfPoints=n;  points=new Point[n];  }

         ~ArrayOfPoints()//

         {   cout<<"Deleting..."<<endl;

             numberOfPoints=0;  delete[] points;     }

         Point& Element(int n)//返回所需要的元素

         {  return points[n];  }

       private:

         Point *points;

         int numberOfPoints;

    };

     

    int main()

    {

             int number;

             cout<<"Please enter the number of points:";

             cin>>number;

         ArrayOfPoints points(number);    //创建对象数组

         points.Element(0).Move(5,10);     //通过指针访问数组元素的成员

         points.Element(1).Move(15,20);   //通过指针访问数组元素的成员

    }

    //运行结果如下:

    Please enter the number of points:2

    Default Constructor called.

    Default Constructor called.

    Deleting...

    Destructor called.

    Destructor called.

  • 相关阅读:
    【转】15 个 JavaScript Web UI 库
    【转】C# WebRequest发起Http Post请求模拟登陆并cookie处理示例
    【转】33个JavaScript自动完成脚本
    大数据运算问题
    页面占位符的使用
    sql 数据库默认值问题
    jquery动态绑定像Repeater和dataList一样绑定数据源
    seo页面优化的要点
    asp.net控件不可乱用的属性
    jquery经验篇
  • 原文地址:https://www.cnblogs.com/lemaden/p/10238025.html
Copyright © 2011-2022 走看看