/*
*Copyright(c)2016,烟台大学计算机学院
*All right reserved.
*文件名称:test.cpp
*作者:黄金婵
*完成日期:2016年6月2日
*版本号:v1.0
*
*问题描述: 阅读程序
*输入描述:
*程序输出:
*/
#include <iostream>
using namespace std;
class MyClass //声明一个班级类的对象Myclass.
{
public: //外部接口,共有成员函数
MyClass(int x=0):i(x){cout<<"C"<<i;} //
~MyClass(){cout<<"D"<<i;}
void SetValue(int val){i=val;}
int GetVal(){return i;}
private: //特定的访问权限
int i; //属性,数据成员
};
int main()
{
MyClass *p[3]; //声明了一个MyClass类指针数组P,其中有3个成员,每个元素都是一个指向MyClass类型数据的指针
int i;
for (i=0; i<3; i++)
{
p[i]=new MyClass(i); //运算符NEW的功能是动态分配内存,动态分配用于存放MyClass类型数据的内存空间,并将初值i存入该空间,并将首地址赋给指针p.
p[i]->SetValue(p[i]->GetVal()*2);
}
for (i=0; i<3; i++)
delete p[i];
cout<<endl;
return 0;
}
知识点总结:
通过阅读本程序代码,我了解了关于运算符new的一些运用及意义,在C++中建立和删除堆对象使用两个运算符new和delete。new可以建立一个类的对象也可以建立数组类的对象,在创建数组类对象时需要给出数组的结构说明。