作者 | 轩辕之风

责编 |王晓曼

来源 | 编程技术宇宙(ID:xuanyuancoding)

七夕又到了,单身汪们太难了,每年不仅要经历双十一,要经历2.14,还要经历七夕节,真是古今中外都不肯放过我们啊!

不过对于咱们程序员来说,这都不是问题!只要你不是C语言,想要对象还不简单?new 一个不就得了!

对象的类型

首先,new之前,得先定义对象的类型,就叫 GirlFriend 吧,继承自基类Girl!

接下来要思考,这个 GirlFriend 该有哪些方法呢?

首先得要长得漂亮吧:

bool isBeatuiful();

其次,得做的一手好饭吧:

Food cook();

嗯,要温柔一点,会撒娇:

bool tender();

不过也不能太粘着我,还是要去工作才行:

void work();差点忘了,最重要的一点,要爱我,心里只能有我一个:
void loveMe();

好了,就先想到这些方法吧。

要全心全意对待女朋友,还得要允许她访问你的空间,C++程序员们记得把女朋友设置为友元:

friend class GirlFriend;

和对象通信

接下来,要怎么和女朋友通信呢?

用个消息队列?嗯,不行,处理不及时的话分分钟要出事。

算了,就一个女朋友,还考虑什么高并发啊?就用个简单的回调吧!

void onMessage(Message msg);

Message 要考虑的情况有点多:

enum Message {MSG_IMissYou,          // 我想你了MSG_WhatAreYouDoing,   // 你在干嘛MSG_GoShopping,        // 陪我逛街MSG_IFeelUncomfortable,// 我不舒服MSG_IAmAngry,          // 我生气了······
}

得要小心翼翼的处理这些消息,否则,嘿嘿,你懂得~

switch (msg) {case MSG_IMissYou:say("miss you too");break;case MSG_WhatAreYouDoing:say("I'm coding...");break;case MSG_GoShopping:takeMoney();break;case MSG_IFeelUncomfortable:say("多喝热水");break;case MSG_IAmAngry:// 这个我也不知道,自己发挥吧
}

准备工作做得差不多了,现在可以来new了!

new一个

Java同学要注意,new出来的对象引用要抓牢了,要是不小心松了手,就要被垃圾回收掉了~

// Java
GirlFriend gf = new GirlFriend();

如果是一个C++程序员,new了之后还得要delete。不过,怎么能对女朋友进行delete呢,你肯定不想发生这种事情吧?所以用智能指针shared_ptr吧!

不过要注意你们别循环引用,不然谁也走不了。就像生活中两个人吵架总得有个人先让步,不然就没完没了了~

// C++
shared_ptr<GirlFriend> gf(new GirlFriend());

为了展现你的专一性,只爱她一个,得加上 final 和 const 表示一下吧:

// Java
final GirlFriend gf = new GirlFriend();// C++
const shared_ptr<GirlFriend> gf(new GirlFriend());

运行一下

写好了,咱们来运行一下~

哦豁!GirlFriend 的构造函数抛出了异常!

别急,来看看错误提示:

error: no match GirlFriend found

原来是没有找到符合要求的女朋友!

别慌,咱们降低一点条件,把有工作这一项拿掉再试试:

error: no match GirlFriend found

额,还是不行,还得继续降低要求,再把温柔去掉吧,漂亮、会做饭、爱我难道还不够吗?

error: no match GirlFriend found

好吧,是时候做出真正的抉择了,忍痛去掉会做饭!再试一次!

error: no match GirlFriend found

怎么办?只剩下漂亮和爱我了!我还不信这个邪了,爱我就好了,漂不漂亮的不重要。再来!

error: no match GirlFriend found

此刻已经心如死灰,有个对象差不多凑活吧,管她爱不爱我,这是我最后的倔强。

error: no match GirlFriend found

欺人太甚了,我要来排查一下基类 Girl 的源码,到底出了什么问题?

突然我在Girl的构造方法里看到了一行:

assert(job != "程序员");

这可难不倒我们程序员,我决定(               )

猜猜我做了啥,留言区欢迎开脑洞!

分享转发~早日脱单!

想 new 个对象过七夕,她却抛了异常相关推荐

  1. java创建对象过七夕,想 new 个对象过七夕,她却抛了异常

    原标题:想 new 个对象过七夕,她却抛了异常 关注 "" 导读:单身之痛...... 作者 | 轩辕之风 来源 | 编程技术宇宙(ID:xuanyuancoding) 七夕又到了 ...

  2. 对象生死劫 - 构造函数和析构函数的异常

    对象生死劫 - 构造函数和析构函数的异常 2007-09-13 09:11 2086人阅读 评论(7) 收藏 举报 构造函数和析构函数分别管理对象的建立和释放,负责对象的诞生和死亡的过程.当一个对象诞 ...

  3. 对象生死劫 - 构造函数和析构函数的异常(转)

    构造函数和析构函数分别管理对象的建立和释放,负责对象的诞生和死亡的过程.当一个对象诞生时,构造函数负责创建并初始化对象的内部环境,包括分配内存.创建内部对象和打开相关的外部资源,等等.而当对象死亡时, ...

  4. 十二星座匹配对象_七夕,十二星座速配对象

    原标题:七夕,十二星座速配对象 一.摩羯座 摩羯座最配星座:金牛座 巨蟹座 处女座 天蝎座 双鱼座 中等配对:双子座 摩羯座 水瓶座 和摩羯座最不配的星座:白羊座 狮子座 天秤座 射手座 推荐给摩羯座 ...

  5. 28岁硕士女程序员想分手!对象专科学历,北京土著,失业3个月找不到工作!遭网友群嘲!...

    硕士毕业的女程序员,年薪31万,本想着找个北京户口就有房有户口了.可没想到男方专科毕业,失业3个月找不到工作.女程序员顿觉前途无亮啊-这可咋整呢? 原来男方还是拆迁户,有套三环100平米的房子,啧啧, ...

  6. 3、假设有一个对象数组,想根据某个对象属性对数组进行排序时

    function createComparisonFunction(propertyName){ return function(object1,object2){ var value1=object ...

  7. 使用redis存储对象,取对象时的一些常见异常

    自动装配失败报空指针异常 报错: java.lang.NullPointerExceptionat com.example.service.UserServiceImpl.sendMsg(UserSe ...

  8. 阿里巴巴Java开发手册-finally块必须对资源对象、流对象进行关闭操作,如果有异常也要做try-cach操作

    对于JDK7及以上版本,可以使用try-with-resources方式 使用方式: /*** https://www.cnblogs.com/itZhy/p/7636615.html* 其实这种方式 ...

  9. 使用GDIView工具排查GDI对象泄漏导致程序UI界面绘制异常的问题

    目录 1.问题说明 2.初步分析 3.查看任务管理器,并使用GDIView工具分析

最新文章

  1. Python夺冠,老牌编程语言该走向何方?网友:崩溃
  2. 动态 | DeepMind 首次披露旗下专利申请情况
  3. axios请求接口http_Vue使用Axios实现http请求以及解决跨域问题
  4. tableau必知必会之运用本福德定律(Benford‘s law)验证数据真实性
  5. 高性能动态编译库Natasha发布1.0版本!
  6. 解决Javascript疲劳的方法-以及其他所有疲劳
  7. 前端学习(2934):上午回顾
  8. Echarts 地图绘制
  9. Spring Boot太重,Vert.x真香!
  10. 在MAC OSX系统中删除、添加、恢复、管理launchpad的STEAM游戏图标
  11. 计算机打开资源管理器停止工作,windows资源管理器已停止工作,教您windows资源管理器已停止工作怎么解决...
  12. 【ARM嵌入式】——多寄存器寻址
  13. Kafka的运维利器-AdminClient
  14. JavaScript 中的“黑话”,你知多少?
  15. 【千峰】网络安全学习笔记
  16. Android 暗黑模式适配
  17. 【Oracle之AWR报告解析】
  18. Revit中为房间添加填充图例和“构件快速上色”
  19. 应用系统中的报表开发成本知多少?
  20. 如果要你选择某读书APP的图标,你会选择哪一个?

热门文章

  1. FastFormers:实现Transformers在CPU上223倍的推理加速
  2. 新记录诞生,腾讯云2分31秒打破ImageNet训练记录
  3. SAP QM 事务代码QAC2的BUG?
  4. SAP PM 初级系列13 - PM Revision
  5. 员工执行力差怎么办?任正非说,抓住这12条,3天打造狼性团队
  6. 调查报告:2021年越来越多企业将采用AI功能
  7. 计算机视觉系统怎样剖析“看到”的一切?
  8. 「AI初识境」近20年深度学习在图像领域的重要进展节点
  9. 腾讯的人工智能大战已然打响!
  10. 全球十大AI领军人物