摘要: 转自:http://blog.csdn.net/xsh_123321/article/details/5956289 1.为什么需要虚继承 如下图所示如果访问Der::Fun or Der::m_nValue就会带来二义性,无法确定是调用Base1的还是Base2的,所以为了解决多重继承情况下成员访 阅读全文
posted @ 2017-03-12 16:35 demianzhang 阅读(7838) 评论(0) 推荐(0) 编辑
摘要: 转自:http://glatue.com/category/basic-knowledge/ 场景 如果一个类会被作为基类,那么基类的析构函数最好声明为虚函数。 原因是为了避免下面这样的操作,造成派生类的析构函数不能被调用。 Base *d = new Drived(); delete d; //如 阅读全文
posted @ 2017-03-12 16:13 demianzhang 阅读(895) 评论(0) 推荐(0) 编辑
摘要: 图的存储主要有邻接矩阵与邻接表两种写法,其中邻接表多采用vector<Edge> edge[N]方式模拟单链表简化存储。 struct Edge { int nextNode;//下一个节点编号 int cost;//该边权重 }; vector<Edge> edge[N];//为每个节点都模拟一个 阅读全文
posted @ 2017-03-12 14:33 demianzhang 阅读(777) 评论(0) 推荐(0) 编辑
摘要: hihocoder #1343:题目 解释:一个学习小组,一共有N个学员,一个主管。每个学员都有自己的导师(一个或者多个),导师可以是其他学员也可以是主管。每周学员都要把自己的学习报告和收到的报告提交给自己的导师,这个团队设计很合理,没有回环(投递出去的报告不会回到自己手中),并且所有的报告最终都会 阅读全文
posted @ 2017-03-12 00:31 demianzhang 阅读(261) 评论(0) 推荐(0) 编辑