第一篇:多文件及复制构造函数实例
#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上的奇函数和偶函数,当x0时,f(x)g(x)f(x)g(x)0,且g(3)0,则不等式f(x)g(x)0的解集为______.2.设f(x)是定义在R上的奇函数,且f(2)0,当x0时,有x f(x)f(x)0 恒成立,则不等式x2f(x)0的解集为__________.3.已知函数f(x)是定义在R上的奇函数,且当x(,0)时,有x<0成立,若a30.3 b f(x)+f(x)1 3f(3 0.3),blog3 f(log 3),c(log 9)f(log 9),则a、、c的大小关系为__________.f(x),则当a0 4.已知可导函数f(x)满足f(x)系为__________.时,f(a)与ea f(0)的大小关 5.若函数f(x)对任意的xR都有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,当x0时,(x2 1)f(x)2xf(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)ag(x),x f(x)g(x)0 f(1)g(1) f(1)g(1) .在有穷数列 f(n) (n1,2,,10)中,前kg(n) 项和 为 1516,则k=__________. 函数与方程数学思想方法是新课标要求的一种重要的数学思想方法,构造函数法便是其中的一种。 高等数学中两个重要极限 1.limsinx1 x0x 11x2.lim(1)e(变形lim(1x)xe)x0xx 由以上两个极限不难得出,当x0时 1.sinxx,2.ln(1x)x(当nN时,(1)ne(1)n1). 下面用构造函数法给出两个结论的证明. (1)构造函数f(x)xsinx,则f(x)1cosx0,所以函数f(x)在(0,)上单调递增,f(x)f(0)0.所以xsinx0,即sinxx. (2)构造函数f(x)xln(1x),则f(x)11n1n1x0.所以函数f(x)在1x1x (0,)上单调递增,f(x)f(0)0,所以xln(1x),即ln(1x)x. 1要证1n事实上:设1n111e,两边取对数,即证ln1, nn111t,则n(t1), nt1 1因此得不等式lnt1(t1)t 1构造函数g(t)lnt1(t1),下面证明g(t)在(1,)上恒大于0. t 11g(t)20, tt ∴g(t)在(1,)上单调递增,g(t)g(1)0, 即lnt1, 1 t 111∴ ln1,∴1nnn1n1e,以上两个重要结论在高考中解答与导数有关的命题有着广泛的应用. 拷贝构造函数剖析 在讲课过程中,我发现大部分学生对拷贝构造函数的理解不够深入,不明白自定义拷贝构造函数的必要性。因此,我将这部分内容,进行了总结。 拷贝构造函数是一种特殊的构造函数,其形参为本类的对象引用。功能:使用一个已经存在的对象始初化同类的一个新对象。这样得到对象和原来的对象具有完全相同的数据成员,即相同的属性。 拷贝构造函数的函数原型: 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,证明:a2acc23b(abc)0成立,并指出等号何时成立。 解析:令f(a)a2(3bc)ac23b23bc ⊿=(3bc)24(c23b23bc)3(bc)2 ∵b、c∈R,∴⊿≤0 即:f(a)0,∴a2acc23b(abc)0恒成立。 当⊿=0时,bc0,此时,f(a)a2acc23ab(ac)20,∴abc时,不等式取等号。 4例2.已知:a,b,cR且abc2,a2b2c22,求证: a,b,c0,。 3abc222解析:2 消去c得:此方程恒成立,a(b2)ab2b10,22abc2∴⊿=(b2)24(b22b1)3b24b0,即:0b4同理可求得a,c0, 34。3② 构造函数逆用判别式证明不等式 对某些不等式证明,若能根据其条件和结论,结合判别式的结构特征,通过构造二项平方和函数:f(x)(a1xb1)2(a2xb2)2(anxbn)2 由f(x)0,得⊿≤0,就可以使一些用一般方法处理较繁琐的问题,获得简捷明快的证明。 例3.设a,b,c,dR且abcd1,求证:4a14b14c14d1﹤6。解析:构造函数: f(x)(4a1x1)2(4b1x1)2(4c1x1)2(4d1x1) 2=8x22(4a14b14c14d1)x4.(abcd1)由f(x)0,得⊿≤0,即⊿=4(4a14b14c14d1)21280.∴4a14b14c14d142﹤6.例4.设a,b,c,dR且abc1,求解析:构造函数f(x)(=(1axa)2(149的最小值。abc2bxb)2(3cxc)2 1492)x12x1,(abc1)abc111由f(x)0(当且仅当a,b,c时取等号),632149得⊿≤0,即⊿=144-4()≤0 abc111149 ∴当a,b,c时,()min36 632abc 构造函数证明不等式 1、利用函数的单调性 +例 5、巳知a、b、c∈R,且a bmb[分析]本题可以用比较法、分析法等多种方法证明。若采用函数思想,构造出与所证不等式密切相关的函数,利用函数的单调性来比较函数值而证之,思路则更为清新。第二篇:构造函数
第三篇:构造函数法
第四篇:拷贝构造函数剖析
第五篇:构造函数证明不等式