Chapter 1-2学习

 

C++思想这本书是我们大二学习C++时的教材,但是英文是英文版的,大二当时我的英文阅读能力实在是很差,虽然硬着头皮准备去啃,结果发现太耽误时间,并且对知识的学习是十分零散的,看了很长时间才把第一章看掉,结果云里雾里,不知道到底收获了什么。现在重新拿起这本书来学习C++的基础知识,居然有一股欣喜之情涌在心头。因为这本书小小的版面,厚厚的身体,让我觉得十分可爱。下午读完了1、2两章,更是觉得这本书是一本入门的好书,而C++ Prime却不是那么适合于入门。但是第一章我看着还是没看出什么精髓啊,毕竟知道的太少。现在开始认真学习C++的基础知识,并且把过程记录在此。

 

Chapter 1

第一章主要介绍了面向对象的概念,首先是抽象数据类型,然后是访问控制,然后是继承,最后是多态。接触了一些GUI的使用,我才明白了访问控制的好处,提供给你用的类,还是保护好一点比较好。面向对象的概念,我不知道真正的精髓到底是什么。我只记住了所有的事物都是对象,程序的整体只是对象间的相互访问和反应,这正是QT中清除表达的SIGNAL SLOT概念。这种概念还是比较吸引我的,我回头想想QT中提供的各种类,学习起来还真是麻烦,但无论如何,我知道了,QT中要学习的都只是熟悉各种类的接口罢了。

这一部分讲的生成对象十分的重要,程序主要有三个地方存放数据:

<1> Stack 这就是常说的栈了,int i,这种数据就放在这个地方的了,应该就是汇编中的数据部分

<2> static storage 老师曾说过的全局变量区,好像就是它了,像Static int i,这种就放在这个地方的

<3>queue 堆,用来放动态生成的数据,new,delete

第一章的最后,颇有点软件工程的味道。现在正在学习软件工程,著名水课之首了,我反正已然失去听课的能力了,只好一切自学了。我实在想好好听课的,但无奈的是只要我听课,不出5分钟,我必然进入梦乡。作者讲的软工想必也不高明到什么地方去,但他讲的Test 要与程序同步开始写,以及他认为所有语言的进步其实是Test在进步的观点,实在让我十分的赞同。从汇编语言到C语言到C++,改变的其实是编译器的Type Checking,也就是Test程序在不断地更新改进,这真是十分到位的判断。

 

Chapter 2 Makeing & Using Objects

这一章主要简单介绍了一下C++的语法,让我们能写出自己的第一个C++的程序,居然不是纯“Hello World”(我刚刚发现大家还是都不能免俗的啊),可见这本书实在有特色了。 这本书首先介绍了程序编译的过程,这个正在学还是比较懂的,但之前的解释一段还是云里雾里,不知所云。上了编译原理之后,对于为什么一个函数定义之前要给出声明有了更多的了解。

void Func1()

             {

                      Func2();

              }

void Func2()

              {

                     Func1();

              }

是要编译出错的,因为符号表里面没有Func2,所以先得声明

void Func2();

然后作者就说明了Declaration vs. definitions, 声明和定义的区别,定义只可以一次的,声明

extern int i;

 

第二章作者就介绍了很多十分高级的东西,比如说STL(Standard Template Liabrary),这真是很不错。我之前看的是清华的那本教材,连文件操作都很靠后,非常影响学习的兴趣,更别说知道vector 了,据说很多人学了C++一直都不知道有STL,想必是用的国内教材。不多说了,作业做了两道:

#include<iostream>
#include<fstream>
#include<vector>
#include<string>
using namespace std;
int main()
{
 vector<string> v;
 string line;
 ifstream in("Scopy.txt");
 ofstream out("Scopy1.txt");
 while(getline(in,line))
  v.push_back(line);
 for(int i=0;i<v.size();++i)
 {
  out<<i+1<<"---------"<<v[i]<<"/n";
  cout<<i+1<<"--------"<<v[i]<<endl;
 }


}

 

这里已经用到很多的头文件了。并且实现了读取一个文件,并且把每行标号后,写到另外一个文件的功能,使用到了getline函数。

这就是我学习前两章的收获。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值