C++学习之路进阶之迭代开发

1.C++学习之环境搭建
https://blog.csdn.net/qxyloveyy/article/details/104225307
2.C++学习之基础教学:
https://blog.csdn.net/qxyloveyy/article/details/104261323
3.C++学习之路进阶之面向对象:
https://blog.csdn.net/qxyloveyy/article/details/104261713
4.现代软件开发的基本活动、软件开发的典型特征:
两种开发方式:迭代和增量开发;
需求(工程师)–>分析(架构师,需求工程师)–>设计(架构师,设计师)–>实现(程序员)–>测试(测试工程师);

5.模块化编程(名字空间)
namespace ac{变量,对象以及它们的初始化,枚举常量,函数声明以及定义,类,结构体声明与实现,模板,其他命名空间};.h
using ac::函数名;.cpp。每一个命名空间是一个作用域,定义在命名空间的实体称为空间成员,命名空间中的每个名字必须是该命名空间的唯一实体,不同命名空间可以具体有同名成员;在命名空间中定义的名字可以被命名空间中的其他成员访问;

6.面向对象编程(资源管理)
资源管理:程序运行时使用抽象资源,使用完毕后归还(释放)资源给系统,同时对资源做到避免重复分配,互斥使用和及时释放;
资源管理的问题主要存在资源泄漏的问题,还有当发生互斥访问时导致数据不一致的问题;
动态分配内存,释放,在基于对象编程的资源管理主要靠析构函数来实现。

shape *s;s=new circle{参数};
~shape(){
delete s;//释放指针
this->.clear();//对于this指针所指对象有存储内容的资源的清理}

7.容器Vector用法、文件流的使用:
vector是一个容器,能够存放任意类型的动态数组,可以动态改变大小;

vector<int>i(10);//定义长度为10的向量
i[5]=6;//给第6个元素赋值6
i.pushu_back(1);//给首元素赋值1
i.resize(100)//重新定义向量的长度
<istream>:istream(<iostream>cin输入流),ostream(<iostream>cout,cerr,clog输出流);
<fstream>:ifstream(文件输入流),ofstream(文件输出流);
<sstream>:istringstream(),ostringstream();
<strstream>:istrstream(),ostrstream();
ifstream infile("路径"),ifstream infile(文件名,openmode);
或者ifstream infile; infile.open("文件名",openmode);

不论以何种方式打开文件,最后都要关闭文件,调用infile.close();
对二进制文件的操作,打开时需要用ios_base::binary指定为二进制形式读取和存储,二进制文件除了可以作为输入文件或输出文件外,还可以是既能输出又能输入的文件,对二进制文件主要使用流成员函数read和write;

ifstream inf("book.dat",ios_base::in|ios_base::binary);//二进制读
if(!inf.fail()){ofstream outf("out.dat",ios_base::out|ios_base::binary);//二进制写
while(!inf.eof()){//是否到源文件末尾
inf.read(buff,sizeof(buff));
outf.write(buff,inf.gcount());//按实际读到的字节数写入
cout<<buff<<endl'}
outf.close();//关闭目的文件
inf.close();//关闭源文件
}

8.基于范围的循环

while()do{};
for()do{};
do{}while();//普通循环:可以使用break/continue进行调试
for(auto l:grade)//不需要改变grade中数据成员的值
for(auto &l:grade)//需要改变grade中数据成员的值

9.流的操作符重载
ostream& 类名::operator<<(ostream&out,const 类名&c);
istream& 类名::operator>>(istream&in,const 类名&c);
最好声明为友元函数,在类中声明为
friend ostream& operator<<(ostream& out,const 类名&c);
friend istream& operator>>(istream& in,const 类名&c);

10.面向对象编程之多态
多态的实现:函数重载,运算符重载,虚函数;
参看文章:https://blog.csdn.net/qxyloveyy/article/details/104261713
类和关联的代码实现(包括二元关联、自关联)
特殊形态的类:结构体struct,联合union;
struct与类的唯一区别在于它缺省访问属性为public,union默认访问属性为public,它的全部数据成员共享同一组内存单元;

谢谢观看,走之前不妨点个赞,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值