day01

来源:互联网 发布:伊藤美诚 知乎 编辑:程序博客网 时间:2024/05/29 18:02
?C++day12笔记:
回顾:
1 异常
1)异常抛出
   throw 异常对象;
2)异常捕获
   try{...}catch(...){}
3)异常说明
=======================
二十四 异常(Exception)
....
6 C++标准异常类
  class exception{
  public:
    exception() throw() { }  
    virtual ~exception() throw();
    virtual const char* what() const throw();
  };
 
注:自定义异常类时,建议继承标准异常类,并重写what函数,让其对标准异常类中what形成覆盖,通过多态的语法特性,在子类的what函数处理子类的异常。
 
7 构造函数中的异常
  构造函数抛出异常后,对象将会被不完整构造,这样的对象其析构函数不会被执行;因此在构造函数抛出异常之前,需要手动销毁所有在异常产生之前的动态资源。
 
8 析构函数最好不要抛出异常(了解)
 
============
二十五 I/O流(了解)
1 主要的I/O流类
                     ios
                   /     \
        istream             ostream   
   /        |       \   /       |       \
istrstream ifstream iostream  ofstream ostrstream
                   /      \
              strstream   fstream
 
2 格式化IO
1)格式化函数:通过调用I/O对象的成员函数,改变或者获取其中的状态,进而影响格式化数据的形式。
  int ios::precision(int);//控制浮点数精度
  int ios::width(int);//控制显示的域宽
  ......
2)流控制符:通过将流控制符插入到输入/输出流中,改变其中状态,进而影响格式化数据形式。
   setprecision(int);//控制浮点数精度
   setw(int);//控制浮点数精度
   ......
 
3 字符串流
#include <sstream>//新的版本
istringstream
ostringstream
stringstream
 
#include <strstream>//老的版本,不要用
istrstream
ostrstream
strstream
 
4 文件流
#include <fstream>
ifstream
ofstream
fstream
 
5 二进制I/O
//fwrite
ostream& ostream::write(
    const char* buffer,size_t num)
 
//fread
istream& istream::read(char* buffer,streamsize num)
 
===========================================
QT(跨平台的C++ GUI应用程序开发框架)
 
一 Qt的概述
1 Qt的历史发展
1)1991年诞生//Haavard Nord,Eirik Chambe-Eng
2) 1994年创建了Trolltech(奇趣科技)
3) 2005年QT4.0 发布
4)2008年Nokia收购奇趣科技公司
5)2009年源代码开放
6)2012年诺基亚将全部Qt业务和知识产权出售给Digia公司
7)2013年QT5.0发布
   2013年7月 QT5.1
   2013年12月 QT5.2
8)2014年Digia公司成立The Qt Company子公司,专注Qt的开发和拓展
   QT 5.x.x
 
2 QT5安装
1)下载QT安装包
   www.qt.io
qt-opensource-linux-x64-android-5.4.1.run(64位)
qt-opensource-linux-x86-android-5.4.1.run(32位)
 
2) 运行安装包,根据提示安装到主目录下
./qt-opensource-linux-x64-android-5.4.1.run
 
3) 配置环境变量
将bin目录添加到PATH环境变量中:
/home/tarena/Qt5.4.1/Tools/QtCreator/bin
/home/tarena/Qt5.4.1/5.4/gcc_64/bin
 
4) 重启系统,测试
输入"qmake -v"看到qt版本
输入"qtcreator"启动qt集成开发环境(IDE)
 
3 Qt的相关工具介绍
1)assistant(帮助手册)
   Qt类库的详细说明文档
   在终端输入"assistant"即可进入帮助手册界面
2)qmake(Qt构建器)
   qmake -v //查看qt版本
   qmake -project //生成".pro"的项目描述文件
   qmake //根据".pro"生成编译链接脚本Makefile
   执行:make
        根据Makefile编译和链接,生成可执行程序。
3)designer(Qt设计师)
   图形界面编辑器,用于设计界面,以.ui后缀保存
   在终端输入"designer"即可进入设计师界面
4)uic(转换工具)
   将".ui"文件转换成".h"文件
5)moc(元对象编译器)
   将Qt中扩展的语法还原成标准C++程序
6)rcc(资源管理工具)
   将图片等素材加载到程序中
...
7)qtcreator(qt创造器)
  Qt的集成开发环境,包含以上所有的工具。
 
 
4 qt帮助手册的使用
eg:QApplication
1)头文件、构建选项、继承关系
2)Public Functions(公有的成员函数)  
3)Reimplemented Public Functions(公有的虚函数)
4)Public Slots(公有的槽函数)
5)Signals(信号函数)
6)Static Public Members(静态成员)
7)Reimplemented Protected Functions(保护虚函数)
8)Macros(元对象/宏)
9)Detailed Description(详细描述)
 
二 第一个QT程序
1 创建Qt工程目录 “Hello”
  注:每个Qt程序都要放在一个独立目录中。
2 进入工程目录编写源代码 "Hello.cpp"
3 构建工程,生成".pro"的工程文件
  qmake -project//工程文件名和目录名相同
  在工程文件添加"QT += widgets"
4 qmake,生成Makefile
5 make //编译和链接
  会检查代码语法错误,修改完成以后直接make即可
6 运行测试
 ./Hello //在左上角看到标签组件
 
错误:提示时间戳错误,make会死循环,修改系统时间即可
 
 
 
 
练习:看QPushButton类帮助手册
      写个QT工程创建QPushButton对象并构建运行