第一篇:順序表有參構造函數SeqList
template
SeqList:: SeqList(T a[ ], int n){
if(n>MaxSize)throw “參數非法”;for(i=0;i data[i]=a[i]; length=n; } C++繼承中構造函數、析構函數調用順序及虛函數的動態綁定 昨天面試被問到這些,慚愧的很,居然搞混了,悔恨了一把。決定要徹底搞清楚。也算是有所收獲。 首先說說構造函數,大家都知道構造函數里就可以調用成員變量,而繼承中子類是把基類的成員變成自己的成員,那么也就是說子類在構造函數里就可以調用基類的成員了,這就說明創建子類的時候必須先調用基類的構造函數,只有這樣子類才能在構造函數里使用基類的成員,所以是創建子類時先調用基類的構造函數然后再調用自己的構造函數。通俗點說,你要用某些物品,但這些物品你沒辦法自己生產,自然就要等別人生產出來,你才能拿來用。 接著就是析構函數了,上面說到子類是將基類的成員變成自己的成員,那么基類就會只存在子類中直到子類調用析構函數后。做個假設:假如在基類的析構函數調用比子類的先,這樣會發生什么事呢?類成員終止了,而類本身卻還在,但是在類存在的情況下,類成員就應該還存在的,這不就產生矛盾了嗎?所以子類是調用自身的析構函數再調用基類的析構函數。 現在到了虛函數了,virtual主要作用是在多態方面,而C++的多態最主要的是類的動態綁定,動態綁定則是指將子類的指針或引用轉換成基類對象,基類對象就可以動態判斷調用哪個子類成員函數。這就說明在沒有子類指針或引用轉換為基類對象的話,virtual沒有存在意義(純虛函數除外),也就是有沒有virtual都是調用其自身的成員函數。通過這些分析,對于virtual就有了眉目了。當子類指針或引用轉換為基類時,若基類中有用virtual定義的函數,被子類重寫后,此基類對象就會根據子類調用子類中的重寫后的函數,而不是基類中的函數;反之,若是基類中沒有用virtual定義,則不管基類被賦值的是哪個子類的值,調用的都是基類的成員函數(當然指的是子類重載的基類函數,不然就算要調用子類特有的成員函數也會編譯不過)。 構造函數 1.設 f(x),g(x)分別為定義在R上的奇函數和偶函數,當x?0時,f?(x)g(x)?f(x)g?(x)?0,且g(?3)?0,則不等式f(x)g(x)?0的解集為______.2.設f(x)是定義在R上的奇函數,且f(2)?0,當x?0時,有x? f?(x)?f(x)?0 恒成立,則不等式x2f(x)?0的解集為__________.3.已知函數f(x)是定義在R上的奇函數,且當x?(??,0)時,有x?<0成立,若a?30.3? b f?(x)+f(x)1 3f(3 0.3),b??log?3?? f(log ? 3),c?(log 9)?f(log 9),則a、、c的大小關系為__________.f(x),則當a?0 4.已知可導函數f(x)滿足f?(x)?系為__________.時,f(a)與ea? f(0)的大小關 5.若函數f(x)對任意的x?R都有f?(x)? A.3f(ln2)?2f(ln3) f(x) 成立,則__________.B.3f(ln2)?2f(ln3) C.3f(ln2)?2f(ln3)D.3f(ln2)與2f(ln3)的大小關系不確定 6.設f(x)是R上的奇函數,且f(?1)?0,當x?0時,(x2 ?1)?f?(x)?2x?f(x)?0,則不等式f(x)?0的解集為__________.7.已知函數f(x)是定義在(0,??)的非負可導函數,且滿足x?對任意正數a、b,若a f?(x)+f(x)?0,B.af(b)?bf(a)C.af(a)?f(b) D.bf(b)?f(a),8.已知f(x)與g(x)都是定義在R上的函數,g(x)?0,f?(x)g(x)? f(x)?a?g(x),x f(x)g?(x)?0 f(1)g(1) ? f(?1)g(?1) ? .在有窮數列? ?f(n)? ?(n?1,2,?,10)中,前kg(n)?? 項和 為 1516,則k=__________. template ALGraph::ALGraph(T a[ ], int n, int e){ vertexNum=n;arcNum=e; for(i=0;i adjlist[i].vertex=a[i]; adjlist[i].firstedge=NULL;} for(k=0;k cin>>i>>j;//輸入邊所依附的兩個頂點的序號s=new ArcNode;s->adjvex=j;//生成一個邊表結點ss->next=adjlist[i].firstedge;//將結點s插入到結點i的邊表的表頭 adjlist[i].firstedge=s; } } 函數與方程數學思想方法是新課標要求的一種重要的數學思想方法,構造函數法便是其中的一種。 高等數學中兩個重要極限 1.limsinx?1 x?0x 11x2.lim(1?)?e(變形lim(1?x)x?e)x?0x??x 由以上兩個極限不難得出,當x?0時 1.sinx?x,2.ln(1?x)?x(當n?N時,(1?)n?e?(1?)n?1). 下面用構造函數法給出兩個結論的證明. (1)構造函數f(x)?x?sinx,則f?(x)?1?cosx?0,所以函數f(x)在(0,??)上單調遞增,f(x)?f(0)?0.所以x?sinx?0,即sinx?x. (2)構造函數f(x)?x?ln(1?x),則f?(x)?1??1n1n1x??0.所以函數f(x)在1?x1?x (0,??)上單調遞增,f(x)?f(0)?0,所以x?ln(1?x),即ln(1?x)?x. ?1?要證?1???n?事實上:設1?n?11?1??e,兩邊取對數,即證ln?1???, nn?1??11?t,則n?(t?1), nt?1 1因此得不等式lnt?1?(t?1)t 1構造函數g(t)?lnt??1(t?1),下面證明g(t)在(1,??)上恒大于0. t 11g?(t)??2?0, tt ∴g(t)在(1,??)上單調遞增,g(t)?g(1)?0, 即lnt?1?, 1 t 1?1??1?∴ ln?1???,∴?1???n??n?n?1n?1?e,以上兩個重要結論在高考中解答與導數有關的命題有著廣泛的應用.第二篇:構造函數-析構函數的調用順序
第三篇:構造函數
第四篇:鄰接表構造函數算法ALGraph
第五篇:構造函數法