上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 46 下一页
摘要: 看过C++对象模型的话就可以知道,在构造基类时,完整的vtable没有建立起来(表项没有被相应的子类函数替换),因而无法调用到子类的函数(即构造函数中的virtual函数是本类里的方法,不是virtual的)。书中也说即使调用了,因为构造函数的调用顺序,父类在构造时子类的成员还没有初始化可能,此时调... 阅读全文
posted @ 2014-12-21 19:00 卖程序的小歪 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 异常不怎么用,C++能自己控制析构过程,也就有这个要求了。容器不能完全析构其中的元素真是太危险了 阅读全文
posted @ 2014-12-21 16:48 卖程序的小歪 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 主要讲了,1. virtual析构函数的作用与调用顺序2. 使用时机,并不是使用了继承就要把基类的析构函数变为虚函数(virtual),只有当用于多态目的时才进行一个virtual析构函数的定义。3. 不要继承那些没有将析构函数定义为virtual的类来实现多态行为对于1:有些类继承可能只是一个组合... 阅读全文
posted @ 2014-12-21 16:21 卖程序的小歪 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 这节讲了下如何防止对象拷贝(隐藏并不能被其他人调用)两种方法:1. 将拷贝构造函数声明为private 并且声明函数但不进行定义#include #include class Dummy {public: Dummy(int d = 0) : data(d) {} Dummy* getC... 阅读全文
posted @ 2014-12-21 15:52 卖程序的小歪 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 主要讲了1. 一般情况下编译器会为类创建默认的构造函数,拷贝构造函数和copy assignment函数2. 执行默认的拷贝构造/copy assignment函数时,如果成员有自己的拷贝构造/copy assignment函数就执行它,否则就按bit拷贝/赋值3. 几种编译器不会为类生成默认的co... 阅读全文
posted @ 2014-12-21 15:23 卖程序的小歪 阅读(285) 评论(0) 推荐(0) 编辑
摘要: class Solution {public: int maxProduct(int A[], int n) { if (A == NULL || n res) { res = tr; } if (tr ... 阅读全文
posted @ 2014-12-21 14:14 卖程序的小歪 阅读(120) 评论(0) 推荐(0) 编辑
摘要: class Solution {public: string convertToTitle(int n) { if (n 0) { n--; res = (char)(n % 26 + 'A') + res; n ... 阅读全文
posted @ 2014-12-21 13:17 卖程序的小歪 阅读(93) 评论(0) 推荐(0) 编辑
摘要: class Solution {public: int maximumGap(vector &num) { int len = num.size(); int gap = 0; sort(num.begin(), num.end()); ... 阅读全文
posted @ 2014-12-21 12:10 卖程序的小歪 阅读(216) 评论(0) 推荐(0) 编辑
摘要: class Solution {public: int compareVersion(string version1, string version2) { vector v1 = getVersionParts(version1); vector v2 = get... 阅读全文
posted @ 2014-12-19 20:00 卖程序的小歪 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 说要写成对数时间复杂度,算了想不出来,写个O(n)的水了class Solution {public: int findPeakElement(const vector &num) { int len = num.size(); if (len last) { ... 阅读全文
posted @ 2014-12-19 16:04 卖程序的小歪 阅读(190) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 46 下一页