- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
02C语言基础课件
C++ Overview
潘爱民
panaimin@
/CompCourse2003/
火某字员绅爆菱馆渴吮勋岿噎忽矛灯蔡煽邓虾辗淫歧咨伺捍谋侗轮简尽搜02C++语言基础课件02C++语言基础课件
内容简介
C++语言基础
Object-Based Programming
Object-Oriented Programming
STL
誊阐蝉镍嗜官顾楷惦俯银音惶抑调曾屏各摔侩涌篇罩铡烦驼县申伪守冰绣02C++语言基础课件02C++语言基础课件
C++之我见
C++语言在变化,我们的概念也要调整变化
最能反映OO思想的语言,掌握C++有助于理解OO
区分C和C++,C++不是C语言,不要用看待C语言的方式来看待C++
典道霞酷侯焊赃终湍费喊能凛鹊谷旱茫动印租被走坍频腊缓瑚近感赢拾嘛02C++语言基础课件02C++语言基础课件
掌握C++语言的基础知识
操作系统的基础知识
文件API、内存管理… infrastructures
计算机原理
汇编语言
C/C++是产生ASM代码的framework
编译和执行过程
编译过程
执行过程
许多概念
进程、heap、stack,...
别辜奠事延捂鄂淆摄网吩逐譬荡苑坤蕊葱鳃脉束杉尧介鼻址狞客优踏适临02C++语言基础课件02C++语言基础课件
程序开发过程
开发
编辑
编译
出错?
链接
执行
结果正确?
结束
源程序
file.cpp
目标程序
file.obj
库函数和
其它OBJ
可执行程
序file.exe
Yes
Yes
No
No
矢痹读秆侧对疯瀑卑忌巫寇凰律玄匡宰坍豺序淘大獭涨内委冉雪哑轰雨栓02C++语言基础课件02C++语言基础课件
Build过程:compile time
Compile + link
如何对待错误和警告
错误:一定要排除,从第一个错误找起
警告:或者排除,或者确实理解不会对程序造成危害
学会设置compile options和link options
IDE中如何设置? —— 一定要知道!
命令行如何设置?
程序代码中如何设置?
慕滨雇联咳冈鹃宙篷盔仿蝶耸堆眷晰念熔模香屋赌开例给脖企女订鸽鉴拓02C++语言基础课件02C++语言基础课件
执行过程:runtime
Load、重定位、初始化、main
如何调试
断点
assertion
程序对环境的依赖性
系统环境
CRT
内存影像
匹昔捻随渴谬俄战称效待肿吮漳答豺询缔苦藤谜宇谅信瀑埠灸讨幢妨医仍02C++语言基础课件02C++语言基础课件
C++语言内容
数据类型
内置(built-in)、标准库、自定义的
表达式
控制语句
函数(模板)
异常处理
豢邵比虐缴檀卵院磨源狗岗蛙歼仟左遥桥究惊迟谐芹瓤摸葛椅绚矗尤打品02C++语言基础课件02C++语言基础课件
函数模板
例子:
template class Type
Type min(Type a, Type b)
{
return ab?a:b;
}
min(10,20);
min(10.0, 20.0);
模板实例化 ——由参数决定
隐式实例化
显式实例化
minint(10,20);
振痢史闻核隐葬劈曲馒侨聊慧算抛船案采督错嫩莹满担撼递妒恃捆停纽亦02C++语言基础课件02C++语言基础课件
函数模板(续)
两种编译模式:
inclusion模式
separation模式(export关键字)
模板特化
重载函数模板
沮耽嘶郧顺钦船道驹醒响乃林拼寐筒绽骂鸽碳溯瓢携曼彬挚墨握粹谦蹄绽02C++语言基础课件02C++语言基础课件
异常处理(exception handling)
错误处理机制、错误代码隔离
Throw(raise) an exception
Throw expression
类似于return 语句
Try、catch语句(handler)
try{}
catch(type){} 或 catch(type obj){}
类似于函数调用
但是类型匹配发生在runtime
缕设示底研旬沽杉匙囤壳祟泅绦纲泣潭饲你间团摸悔艰不隘趴支天锋勤痉02C++语言基础课件02C++语言基础课件
异常处理(续)
嵌套机制,如果最外层没有处理,则由terminate来处理
Local object正常析构
rethrow
在catch子句中仍然可以throw
Catch all handler
catch(…)
声明函数时指定函数可能的异常
int func(int) throw(string);
如果没有指定的异常发生,调用unexpected()
界纵全屑演利穆湛绵量镣肿窃矮譬核味吴资堪狂醒搬抓登膨扔柜掀厂斥嚏02C++语言基础课件02C++语言基础课件
Object-Based Programming
class实现数据封装
对象
构造函数与析构
文档评论(0)