![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
类和对象
文章平均质量分 91
山野雾灯ccc
路漫漫其修远兮,吾将上下而求索。
展开
-
C++中String类详解以及仿写
string类用于初始化单字节字符和字符产类型的数据。string不是一个单独的容器,只是basic_string模板类中的一个typedef,相对应的还有wstring等。在实际使用过程中,并不区分他们的区别。string相对于一个保存字符的序列容器,除了有字符串的一些常用操作外,还包含了所有其他容器的操作,包括增加,删除,修改,查找比较,输入,输出等。在函数使用过程中,可认为basic_string就是string。成员函数功能basic_string();stringstring。...原创 2022-07-20 23:23:00 · 351 阅读 · 0 评论 -
C++中构造函数的参数构造顺序的构造顺序
C++中的构造顺序在我们编写C++代码时,有时候会出现构造函数参数在初始化时出随机值的情况,这个时候我们可以根据设计的类的属性调整一下顺序即可。class Object{private: int value; int num;public: //value和num的构造顺序和类中设计的顺序的顺序有关,和参数列表无关 Object(int x = 0) :num(x), value(num) { } ~Object() { } void Print() { cout &原创 2020-12-30 11:38:33 · 539 阅读 · 0 评论 -
C++中的友元
C++中的友元友元的概念引入友元的分类类的非成员函数友元类的成员函数友元类友元友元的特点友元说明友元的概念引入C++的最重要的特点之一就是封装性和继承性。对于类的封装性来说,就是类的私有成员和保护成员只能在设计类时它所定义的函数内使用,即私有成员和保护成员只能通过该类的成员函数来访问。当我们需要在类的外部访问该类的私有成员和保护成员时,就可以利用友元(**friend**)来实现这一操作。友元的分类类的非成员函数友元类的非成员函数友元: 表示友元函数不是当前类的成员函数,而是独立于当前类原创 2020-12-27 18:23:04 · 212 阅读 · 0 评论 -
C++实现银行家算法
1.需求分析银行家算法是最具代表性的避免死锁的算法,由Dijkstra提出。该算法原本是为银行系统设计的,以确保银行在发放现金贷款时,不会发生不能满足所有客户需要的情况。在OS中也可以用他来实现避免死锁。为实现此算法,每一个新进程在进入系统时,必须声明在运行过程中可能需要每种资源类型的最大单元数目,其数目不应该超过系统所拥有的资源总量。当进程请求某资源时,系统必须首先确定是否有足够的资源分配给该进程。如果有再进一步计算在将这些资源分配给进程后,是否会使系统处于不安全状态。如果不会,才会将资源分配给他原创 2020-12-17 19:20:54 · 2278 阅读 · 5 评论 -
C++实现基于顺序搜索的动态分区分配算法
1.需求分析动态分区分配又称为可变分区分配,他是根据进程的实际需要,动态地为之分配内存空间。在实现动态分区分配时,将涉及到分区分配中所有的数据结构、分区算法和分区的分配与回收操作这三方面的问题。 在本实验中运用了四种分配算法,分别是首次适应算法,循环首次适应算法,最坏适应算法,最佳适应算法。首次适应算法FF算法要求空闲分区链以地址递增的次序链接。在分配内存时,从链首开始顺序查找,直到找到一个大小能满足要求的空闲分区为止。然后再按照作业的大小,从该分区划分出一块内存空间,分配给请求者,余下的空闲分区原创 2020-12-13 18:58:13 · 5095 阅读 · 1 评论 -
cpp中的类和对象
类和对象的区别: 类(class):概念产物,是设计产物(相对于图纸),没有开辟空间 对象(object):是由类实例化出来的代码和数据的集合 类的实例化就成为了对象 我们操纵的是对象,不是类封装特性:对外是不可访问的this指针编译过程: 第一步:识别类里面的属性成员(变量) 第二步:识别方法,只识别方法的声明 第三步:改写...原创 2020-10-30 23:54:20 · 737 阅读 · 0 评论