vector的陷阱-最常见的错误-

vector的陷阱

#include <string>
#include <iostream>
#include <vector>

using namespace std;

class Man
{
public:
	Man()
	{
		this->count = 0;
	}

	void play()
	{
		count += 10;
		cout<<"I am playing"<<endl;
	}

	int getDrinkCount()
	{
		return count;
	}

private:
	int count; /* 一共喝了多少酒 */
};

int main()
{
	vector<Man> man;
	Man zhangfei, liubei, guanyu;
	man.push_back(liubei);
	man.push_back(guanyu);
	man.push_back(zhangfei);

	man[0].play();
	cout<<man[0].getDrinkCount()<<endl;
	cout<<liubei.getDrinkCount()<<endl;

	system("pause");
	return 0;
}

运行结果:
在这里插入图片描述

总结:

push_back 是把参数的值, 拷贝给 vector
men[0] 的值和 liubei 是相同的, 但是, 是两个不同的对象

结语:

星期六2053组织打球, 计算机网络作业搞定, ok, 手表忘记带回, 只能会球场拿回来.

时间: 2020-06-21-10-32

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值