6_54.cpp

来自「c++案例教程源代码」· C++ 代码 · 共 42 行

CPP
42
字号
#include <iostream>
#include <cassert>
using namespace std;
class pointerDataClass
{public:
    void print() const;				//输出x和数组 p的数值
    void setData();				//输入x和数组 p的数值
    pointerDataClass(int sizeP = 10);	//构造函数,创建一个sizeP大小的数组,默认10
    ~pointerDataClass();			//析构函数,释放数组p指向的内存空间
private:
    int x, lenP, *p;				//*p指向一个int类型数组
};
void pointerDataClass::print() const
{	cout<<"x = "<<x<<endl <<"p = ";
	for(int i = 0; i < lenP; i++)  cout<<p[i]<<" ";
	cout<<endl;
}
void pointerDataClass::setData()
{	cout<<"Enter an integer for x: \n";  cin>>x;
	cout<<"Enter "<<lenP<<" numbers: ";
	for(int i = 0; i < lenP; i++)  cin>>p[i];
	cout<<endl;
}
pointerDataClass::pointerDataClass(int sizeP)
{	x = 0;
	if(sizeP <= 0)
	{	cout<<"Array size must be positive. Creating an array of size 10"<<endl;
		lenP = 10;
	}
	else	  lenP = sizeP;
	p = new int[lenP];	assert(p != NULL);
}
pointerDataClass::~pointerDataClass(){  delete [] p;}
void destroyList(pointerDataClass paramObject){}
int main()
{	pointerDataClass objectOne;				//声明一个对象
	objectOne.setData();  objectOne.print();	//设置显示数据
	destroyList(objectOne);					//语句1:调用默认拷贝构造函数
	objectOne.print();						//显示数据
	return 0;						
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?