2015年6月14日
摘要: 1、多态解决什么问题? 面向抽象编程,用户不需要关心引用或者指针的真实类型,已经内部实现。2、C++ 要具备多态的性质,满足两个条件:表面类型和真实类型不一样,方法是虚方法。3、多态是如何实现的? 实现多态就是要解决下面的问题,把子类对象当做父类对象来解释,还要保证调用的是子类的方法。4、实现原理是... 阅读全文
posted @ 2015-06-14 19:52 Andy Niu 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 1、对于基于连续内存的容器,容器元素的增删,有可能会导致迭代器的失效。考虑:int main(int argc, char* argv[]){vector intVec;intVec.push_back(1);intVec.push_back(2);intVec.push_back(3);vecto... 阅读全文
posted @ 2015-06-14 19:51 Andy Niu 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 1、存储对象,存储的是对象的副本,并不是原对象。2、获取对象,获取的是对象的引用,为什么要这样设计?a、存储对象只发生一次,而获取对象往往会有多次,获取对象,如果每次都返回对象的副本,这个开销很大。b、考虑下面的情况,修改容器中的对象,如果获取对象,返回的是副本而不是引用,没有办法修改容器中元素的值... 阅读全文
posted @ 2015-06-14 19:50 Andy Niu 阅读(2529) 评论(0) 推荐(1) 编辑
摘要: 1、考虑下面的需求,把一组类型不同,但是相互关联的对象放入容器中,比如Animal,Dog,Cat对象。2、容器只能包含一组 类型相同的对象,Animal,Dog,Cat对象是没有办法放入容器中的。3、怎么解决上面的问题?假设容器为vector,可以使用vector,这会导致一个新问题,因为vect... 阅读全文
posted @ 2015-06-14 19:49 Andy Niu 阅读(330) 评论(0) 推荐(0) 编辑