温习段二:对象的创建与使用

来源:互联网 发布:重庆旅游网络推广 编辑:程序博客网 时间:2024/05/22 17:27

温习段二:对象的创建与使用

(转载请注明出处 CSDN xxyyboy 有问题请留言)

A:类是一种新的数据类型

B:语言的翻译过程,源代码->…->机器指令

通常翻译器分为两类,解释器 编译器:

解释器 将源代码转化成一些动作,他由多组机器指令组成,并立即执行这些动作。

编译器 编译器直接把源代码转换成汇编语言或机器指令,最终的结果是一个或多个机器代码的文件。分段编译 的概念。一般的编译器都采用内存中编译(in-memory compilation),大多数编译器编译时每一步都要读写文件,内存编译器就是将编译器程序放在RAM中,对于小的程序来说,内存中编译器几乎能和解释器一样相应。

C:编译过程 预处理器,编译一般2个过程,1预处理的代码语法分析。2,由代码生成器便利语法分析树,把树的每个节点转化成汇编语言或者机器代码。有时候会在12之间使用全局优化器。连接器把一组目标模块连接成1个可执行的程序。连接器能够搜索成为LIB的特殊文件处理它的所有引用。

            静态类型检测 ,某些如JAVA再程序运行时做部分类型检查,称为 动态类型检查。 C++采用静态类型检查。(这里应该留一个特别大的话题,编译原理,编译器是怎么编译出来的,编译器又是如何工作的。)

E:声明和定义 声明 就是向编译器介绍名字。定义 是在这里建立变量或函数

              Int func (); C 任意数目,任意类型 的函数; C++ 不带参数的函数

              Extern I nt I; // Declaration

              Extern float f(float); // Declaration

              Float g(float g); // Declaration

              Float h(float h){};//Definition

              Int I; // 特别指出,定义 Definiton

              Int I = 5; //Definition

 

              头文件: #include <A.h> 环境中或者编译器命令行制定的某种路径寻找

                       #include A.h 定义实现的途径,从当前目录开始寻找,找不到,再按<>寻找。

              #include <iostream>

              Using namespace std:  //名字空间的问题,使名字空间内的名字都可见,打开名字空间。

 

              #include <iostream.h> 上面2句等同于这1

              #include <cstdio> 说明使用的是C的库

F:输入/出流<< >>

            Cout <<  / cin >>

            C++ 支持字符串的多行写的模式。

G:文件流 fstream fstream自动包含iostream Ifstream ofstream genline();

           Int main () { //C++中的main 总是返回int

                Ifstream in(“filename”);

                String s, line; //string C中,字符数组;C++ 类,看了string类的实现就知道动态申请空间等问题

                While(getline(in,line))

                     S + = line + “/n”;

            }

HVector 容器 STLStandard Template Library)标准模版类库。SGISTL与标准的C++库许多细节不同,所以避免使用STL 来代表 标准 C++ 或标准库容器。

          Vector是一个模版(template),也就是说它可以有效地使用于不同的类型。

          Int main () {

             Vector<string> v;

             Ifstream in(“filename”);

             String line; // C++ 主张什么地方使用什么地方来声明定义变量。

 While (getline(in, line)) // while(in >> line) 我们也可以使用这样处理,默认空格和换行都是断开符号,可以根据任何方式分割输入。

                  v.push_back(line); //push_front()不属于vector,把新元素加在vector开头。

             for(int i=0; I <v.size(); i++)

                cout <<v[i]<<endl; //v[I ] =  v[i] * 10; vector 允许这样赋值

           }

 
原创粉丝点击