美文网首页
第二章 对象的创建与使用

第二章 对象的创建与使用

作者: 意不适 | 来源:发表于2017-02-23 10:55 被阅读0次

简介:介绍一些C++语法和程序构造的概念

2.1 语言的翻译过程

2.1.1 解释器

解释器将源代码转化成一些动作并立即执行这些动作。

优点:一旦发现错误,解释器能很容易指出;较好的交互性;适于快速程序开发。

局限性:解释器必须驻留内存以执行程序

2.1.2 编译器

编译器直接把源代码转化成汇编或机器指令。最终得到一个或多个机器代码文件。

优点:编译后的程序小,运行速度快。某些语言(C语言)可以分段编译。

2.1.3 编译过程

预处理(预处理器)—>语法分析(编译器)—>全局优化(全局优化器)—>生成目标模块(编译器)—>连接成可执行程序(连接器)—>装载运行(OS)

C++使用静态类型检查(编译器在第一遍中完成),也可以不使用静态类型检查,需要自己做动态类型检查。

2.2 分段编译工具

2.2.1 声明与定义

声明:向编译器介绍名字——标识符。“这个函数或变量可以在某处找到”

定义:“在这里建立变量或函数”

可以有多处声明,但只能有一个定义(ODR, one-definition rule)。

对于带空参数表的函数,C语言中表示:一个可以带任意参数(任意数目,任意类型)的函数

C++语言中表示:不带参数的函数

在变量定义前加 extern 关键字表示声明一个变量但不定义它

头文件是一个含有某个库的外部生命函数和变量的文件。

2.2.2 连接

某些早期的连接器对目标文件和库文件只查找一起,所以他们的顺序就特别重要。

2.2.3 使用库文件

使用库必须:

1)包含库的头文件

2)使用库中的函数和变量

3)把库连接进可执行程序

2.3 编写第一个C++程序

预防名字冲突的关键字:namespace。库或程序中的每一个C++定义集被封装在一个名字空间中。

在C++中, main()总是返回int类型。

在每个文件的第一行都有一条注释,以注释符跟一个冒号开始“//:”,而最后一行是一“/:~”开始的注释,表示文件结束。

2.4 关于输入输出流

调用其他程序:

#include <iostream>

using namespace std;

int main() {

system("notepad.exe");

system("pause");

}

2.5 字符串简介

//:c02:HelloString.cpp

#include <iostream>

#include <string>

using namespace std;

int main() {

string s1, s2;

string s3 = "hello world.";

string s4("I am");

s2 = "Today";

s1 = s3 + " " + s4;

s1 += " 8 ";

cout << s1 + s2 + "!" << endl;

system("pause");

}

///:~

2.6 文件的读写

//:c02:Scopy.cpp

#include <iostream>

#include <string>

#include <fstream>

int main() {

ifstream in("Scopy.cpp");

ofstream out("Scopy3.cpp");

string s;

while (getline(in, s))

out << s << endl;

}

//:~

2.7 vector 简介

vector是一个模板(template),可以用于不同的类型。如: vector<string> vector<int>

///:c02:GetWords.cpp

// Break a file into whitespace-separated words

#include <iostream>

#include <fstream>

#include <string>

#include <vector>

using namespace std;

int main() {

vector<string> words;

ifstream in("GetWords.cpp");

string word;

while (in >> word) // get one word everytime from "GetWords.cpp"

words.push_back(word);

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

cout << i << " " << words[i] << endl;

system("pause");

}

///:~

2.9 练习

2-7 cin.get()是保留回车在输入流队列中的,而cin是丢弃回车的。

相关文章

  • JavaScript基础—对象

    概论 对象基础 创建对象 利用字面量创建对象: 使用对象 利用new Object创建对象 使用对象方式与上面完全...

  • R数据科学笔记:2

    第二章 工作流:基础 2.1 代码基础 首先,我们可以将R当做计算器使用 使用<- 来创建新对象: 创建对象的所有...

  • JAVA 第二章 —— 类

    第二章 1.类的定义与实例化 1.1类的定义 类必须先定义才能使用,类是创建对象的模板,创建对象也叫类的实例化。语...

  • 第二章 对象的创建与使用

    简介:介绍一些C++语法和程序构造的概念 2.1 语言的翻译过程 2.1.1 解释器 解释器将源代码转化成一些动作...

  • Android消息处理机制工作原理

    Looper 的工作机制 Looper 的创建与使用 Looper 的使用流程 创建 Looper 对象 Loo...

  • Effective Java一书笔记

    对象的创建与销毁 Item 1: 使用static工厂方法,而不是构造函数创建对象:仅仅是创建对象的方法,并非Fa...

  • 原型链相关问题

    创建对象有几种方法 使用对象字面量的方式创建 使用构造函数创建对象 使用Object.create()方法创建 原...

  • 设计模式

    1、设计模式分类 参考 创建型(5种):将对象的创建与使用分离,使用者不需要关注对象的创建细节 单例(Singl...

  • 用new和不用new创建类对象区别

    new创建类对象,使用完后需使用delete删除,跟申请内存类似. 一、new创建类对象与不new区别 下面是自己...

  • iOS开发中创建对象的两个方法对比

    1.使用new 来进行对象的创建. 2.使用alloc 和 Init 来创建对象. 使用new来创建对象,系统会直...

网友评论

      本文标题:第二章 对象的创建与使用

      本文链接:https://www.haomeiwen.com/subject/yvwuwttx.html