ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:21.54KB ,
资源ID:5629253      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-5629253.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(浙江大学C++课件Word格式.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

浙江大学C++课件Word格式.docx

1、class A private:int k;/hidden implementation float b;public:void SetK(int k)/member function k=k;a.k=777;/.X a.GetK()constructor(initialization)destructor(cleanup)class Stack ;五五.2 Inheritance class Basic ;class Derive1:public Basic ;五五.3 Polymorphism(多态性)五五.3.1 Static Polymorphism Overloading 五五.3.

2、1.1 function Overloading(函数重载函数重载)五五.3.1.2 operator Overloading(操作符重载操作符重载)class Complex double m_r;double m_i;Complex(double r=0.0,double i=0.0)m_r=r;m_i=i;void operator()(double r,double i)m_r=r;Complex operator+(const Complex&c)const return Complex(m_r+c,m_r,m_i+c,m_i);double GetR()const retur m_

3、r;double GetI()const retur m_i;class ComplexPtr Complex*m_ptr;ComplexPtr(Complex&c)m_ptr=c;const ComplexPtr&operator=(Complex*const ptr)m_ptr=ptr;return*this;Complex*operator-()const return m_ptr;Complex&operator*()return*m_ptr;operator(int i)return m_ptri;const Complex&operator(int i)const return m

4、_ptri;ComplexPtr&operator+()m_ptr+;operator+(int)m_ptr+;void main()Complex c(3,4);ComplexPtr ptr(c);coutGetR()endl;cout(*ptr).GetR()endl;ptr=new Complex10;ptr1(5.6);ptr2=ptr1+c;+ptr;ptr+;Default Arguments(默认参数)五五.3.1.3 Redefining(重定义重定义)name hiding Overriding(重写,覆盖,超载,过载)五五.3.2 Dynamic polymorphism

5、Upcasting(向上类型转换)Virtual Function Incremental development(增量式开发)六.File&Stream 六六.1 Text file cout 123.567 endl;k=123;cout k;cout.fill($);cout.precision(8);cout.width(7);cout.setf(ios:hex);cout 23 endl;fstream in(in.txt,ios:in);fstream out(out.txt,ios:out);if(!in)return;while(!in.eof()char ch=in.get(

6、);out.put(ch);六六.2 Binary file read write 七.Templates 七七.1 Function templates template T Max(T x,T y)return(xy?x:y);七七.2 Class templates#include const int STACKSIZE=50;template class Stack T*m_pItem;int m_top;int m_size;Stack(int size=STACKSIZE)m_size=size;m_pItem=new intsize;m_top=-1;void Push(T it

7、em)m_pItem+m_top=item;T Pop();template T Stack:Pop()return m_pItemm_top-;void main()Stack s(10);int i;for(i=0;i10;i+)s.Push(i);i+)cout s.Pop()endl;八.Exception handling 八八.1 assert 八八.2 return true/false 八八.3 try/catch throw#include class Overflow;class Underflow;const int STACKSIZE=50;void Push(T it

8、em)if(m_top=m_size-1)throw Overflow();m_pItem+m_top=item;Pop()if(m_top 0)throw Underflow();return m_pItemm_top-;void main()Stack s(3);try for(i=0;catch(Overflow obj)cout Stack Overflow endl;catch(Underflow)cout Stack Underflow endl;global data area stack heap 九.Copy-constructor T(const T&)overloadin

9、g=overloading T(const&T)class String char*p;int l;String(char*s=null)if(s)l=:strlen(s);p=new charl+1;:strcpy(p,s)else p=null;l=0;String(const String&s)if(s.p)l=:strlen(s.p);strcpy(p,s.p)else p=null;String()delete p;String s1(“Hi”);String s2=s1;一十.Virtual destructors&Pure virtual functions(虚析构函数与纯虚函数

10、)Abstract base classes(抽象基类)class Base int*p;Base(int size)p=new intsize;Base()delete p;class Derive:public Base char*s;Derive(int size):Base(size)s=new charsize;Derive()s=new charsize;Base*pB=new Derive(10);delete pB;一十一.Run-time type identification (RTTI)typeid(t).name()#include class Base ;public

11、 Base ;void main()Base*bp=new Derive;couttypeid(*bp).name()endl;一十二.C+explicit casts dynamic_cast downcasting static_cast upcasting reinterpret_cast const_cast Base b;Derive d;Base*bp;Derive*dp;bp=dynamic_cast(&d);bp=&b;dp=dynamic_cast(bp);bp=*d;Derive&dr1=dynamic_cast(*bp);dr2=dynamic_cast(b);一十三.H

12、ow C+implements late binding VTABLE VPTR 一十四.Static members class A static int m;int n;A a1,a2;A1.m=7;A*ap=new A;coutmm+=12;coutm”,”;delete apl couta1.m;一十五.Namespace namespace A int m;namespace B int m;void Fb()m=3;n=4;void Fa()B:m+=7;m=23;void F()m=8;A:m=9;B:m=10;一十六.Pointer to class member 一十七.Multiple inheritance class Base1 int i;class Base2 int i;public Base1,public Base2 float f;int getInt()return i;float getFloat()return f;

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2