第一篇:多文件及復制構造函數實例
#include
using namespace std;
Rectangle::Rectangle(intl,intt,intr,int b){left=l;top=t;right=r;bottom=b;} Rectangle::Rectangle(Rectangle &rec){left=rec.left;top=rec.top;
right=rec.right;bottom=rec.bottom;} void Rectangle::Assign(intl,intt,intr,int b){
} left=r;top=t;right=r;bottom=b;} cout<<“left-top point is(”< class Rectangle{//保存為rect.hintleft,top,right,bottom; public: Rectangle(int l=0,intt=0,int r=0,int b=0);Rectangle(Rectangle &rec); };~Rectangle(){};void Assign(int ,int ,int ,int);voidSetleft(int t){left=t;} voidSetRight(int t){right=t;} voidSettop(int t){top=t;} voidSetBottom(int t){bottom=t;;} void Show(); #include“rect.cpp” #include using namespace std; int main(){ Rectangle rect; } rect.Show();rect.Assign(100,200,300,400);rect.Show();Rectangle rect1(0,0,200,200);rect1.Show();Rectangle rect2(rect1);cout<<“有復制構造函數生成的rect2:”< 構造函數 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=__________. 函數與方程數學思想方法是新課標要求的一種重要的數學思想方法,構造函數法便是其中的一種。 高等數學中兩個重要極限 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,以上兩個重要結論在高考中解答與導數有關的命題有著廣泛的應用. 拷貝構造函數剖析 在講課過程中,我發現大部分學生對拷貝構造函數的理解不夠深入,不明白自定義拷貝構造函數的必要性。因此,我將這部分內容,進行了總結。 拷貝構造函數是一種特殊的構造函數,其形參為本類的對象引用。功能:使用一個已經存在的對象始初化同類的一個新對象。這樣得到對象和原來的對象具有完全相同的數據成員,即相同的屬性。 拷貝構造函數的函數原型: A(const A& other){ … … } 拷貝構造函數的應用場合: 當用類的一個對象去初始化該類的另一個對象時;若函數的形參為類對象,調用函數時,實參賦值給形參;當函數的返回值是類對象時。比如: A a1(10); A a2 = a1; A a3(a1);// 構造函數 // 拷貝構造函數 // 拷貝構造函數 默認拷貝構造函數:成員變量之間的“值”拷貝 編寫拷貝構造函數的必要性 class A { public: A(const char* data) { name = new char[strlen(data)+ 1]; strcpy(name, data); } A(const A& other) { name = new char[strlen(other.name)+ 1]; strcpy(name, other.name); } private: char* name; }; 考察:char* data = “abcd”;A a1(data);A a2 = a1; 如果未定義拷貝構造函數,會有何種后果? 現將a1賦給a2,缺省拷貝構造函數的“位拷貝”意味著執行a2.name = a1.name。這將造成二個錯誤:一是a2.name和a1.name指向同一塊內存,任何一方變動都會影響另一方;二是在對象被析構時,name被釋放了兩次。 在含有兩個或兩個以上字母的不等式中,若使用其它方法不能解決,可將一邊整理為零,而另一邊為某個字母的二次式,這時可考慮用判別式法。一般對與一元二次函數有關或能通過等價轉化為一元二次方程的,都可考慮使用判別式,但使用時要注意根的取值范圍和題目本身條件的限制。 例1.設:a、b、c∈R,證明:a2?ac?c2?3b(a?b?c)?0成立,并指出等號何時成立。 解析:令f(a)?a2?(3b?c)a?c2?3b2?3bc ⊿=(3b?c)2?4(c2?3b2?3bc)??3(b?c)2 ∵b、c∈R,∴⊿≤0 即:f(a)?0,∴a2?ac?c2?3b(a?b?c)?0恒成立。 當⊿=0時,b?c?0,此時,f(a)?a2?ac?c2?3ab?(a?c)2?0,∴a??b?c時,不等式取等號。 ?4?例2.已知:a,b,c?R且a?b?c?2,a2?b2?c2?2,求證: a,b,c??0,?。 ?3??a?b?c?222解析:?2 消去c得:此方程恒成立,a?(b?2)a?b?2b?1?0,22?a?b?c?2∴⊿=(b?2)2?4(b2?2b?1)??3b2?4b?0,即:0?b??4?同理可求得a,c??0,? ?3?4。3② 構造函數逆用判別式證明不等式 對某些不等式證明,若能根據其條件和結論,結合判別式的結構特征,通過構造二項平方和函數:f(x)?(a1x?b1)2?(a2x?b2)2???(anx?bn)2 由f(x)?0,得⊿≤0,就可以使一些用一般方法處理較繁瑣的問題,獲得簡捷明快的證明。 例3.設a,b,c,d?R?且a?b?c?d?1,求證:4a?1?4b?1?4c?1?4d?1﹤6。解析:構造函數: f(x)?(4a?1x?1)2?(4b?1x?1)2?(4c?1x?1)2?(4d?1x?1) 2=8x2?2(4a?1?4b?1?4c?1?4d?1)x?4.(?a?b?c?d?1)由f(x)?0,得⊿≤0,即⊿=4(4a?1?4b?1?4c?1?4d?1)2?128?0.∴4a?1?4b?1?4c?1?4d?1?42﹤6.例4.設a,b,c,d?R?且a?b?c?1,求解析:構造函數f(x)?(=(1ax?a)2?(149??的最小值。abc2bx?b)2?(3cx?c)2 1492??)x?12x?1,(?a?b?c?1)abc111由f(x)?0(當且僅當a?,b?,c?時取等號),632149得⊿≤0,即⊿=144-4(??)≤0 abc111149 ∴當a?,b?,c?時,(??)min?36 632abc 構造函數證明不等式 1、利用函數的單調性 +例 5、巳知a、b、c∈R,且a b?mb[分析]本題可以用比較法、分析法等多種方法證明。若采用函數思想,構造出與所證不等式密切相關的函數,利用函數的單調性來比較函數值而證之,思路則更為清新。第二篇:構造函數
第三篇:構造函數法
第四篇:拷貝構造函數剖析
第五篇:構造函數證明不等式