Worker ** newspace = new Worker * [newSize*4],其中的*4什么意思

void Worker_Manger::Add_Emp()
{
	cout << "请输入添加的职工数量:" << endl;
	int addnum = 0;//保存用户的输入数量
	cin >> addnum;
	if (addnum > 0)
	{
		int newSize = this->M_EmpNum + addnum;//新空间人数=原来的人数+新增加人数
		//开辟新空间




		 Worker ** newspace = new Worker * [newSize*4];



	
		//拷贝原来空间的数据
		if (this->M_EmpArray != NULL)
		{
			for (int i = 0; i < this->M_EmpNum;i++)
			{
				newspace[i] = this->M_EmpArray[i];
			}
		}
		//添加新数据
		for (int i = 0; i < addnum; i++)
		{
			int id;//职工编号
			string name;//职工的姓名
			int dSelect;//部门选择
			cout << "请输入第" << i + 1 << "个职工编号:" << endl;
			cin >>id;
			cout << "请输入第" << i + 1 << "个职工姓名:" << endl;
			cin >> name;
			cout << "请选择该职工的岗位:" << endl;
			cout << "1.职员" << endl;
			cout << "2.经理" << endl;
			cout << "3.总裁" << endl;
			cin >> dSelect;
			Worker* worker = NULL;
			switch (dSelect)
			{
			case 1:
				worker = new Employee(id, name, 1);
				break;
			case 2:
				worker = new Manager(id, name, 2);
				break;
			case 3:
				worker = new Boss(id, name, 3);
				break;
			default:
				break;
			}
			//将创建职工职责,保存到数组中
			if (sizeof(newspace) <=sizeof(newSize))
			{
				newspace[this->M_EmpNum + i] = worker;
			}
		}
	}

*4是什么意思,去掉*4会有警告显示缓冲区溢出。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值