C++Primer Plus 第12章 类和动态内存分配001 12.10编程练习第4题new,delete的指向深度拷贝

系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:


`提示:正如私有成员表明的,这个类使用动态分配的数组来保存栈项。请重新编写方法,以适应这种新的表
示法,并编写一个程序来演示所有的方法,包括复制构造函数和赋值运算符。


回顾

提示:这里可以添加本文要记录的大概内容:

const unsigned LEN = 351;
struct customer
{
	char fullname[LEN];
	double payent;
};

class Stack
{
public:
	Stack();
	//~Stack();
	bool isempty()const;
	bool isfull()const;
	//push()执行成功返回true,否则false
	bool push(const customer& item);//add item to stack
	//pop()执行成功返回true,否则false
	bool pop(customer& item);//pop top into item

private:
	enum
	{
		MAX = 10
	};
	customer items[MAX];
	int top;
	void showstack(void)const;
};

提示:以下是本篇文章正文内容,下面案例可供参考

一、改用动态内存分配

//stack.h -- class declaration for the stack ADT
typedef unsigned long Item;
class Stack
{
private:
	enum{MAX = 10};
	Item* pitems;
	int size;
	int top;
public:
	Stack(int n = MAX);
	Stack(const Stack& st);
	~Stack();

	bool isempty()const;
	bool isfull()const;
	bool push(const Item& item);
	bool pop(Item& item);
	Stack& operator = (const Stack& st);
};

总结

提示:这里对文章进行总结:

例如:这里只申明,下篇再写具体的代码,后面的代码会越来越复杂。篇幅会更大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值