Cpp基础
文章平均质量分 51
很难绷得住
点波关注不迷路
展开
-
C++学习笔记08
01.find算法遍历某个区间,判断区间中是否有某元素,将指向该元素的迭代器作为返回值。 find_if算法第三个参数为函数名,遍历某个区间,将区间中元素放入该函数中,将指向在该函数中返回值为true的元素的迭代器作为返回值。 当返回值为最后一个元素时,即无。(end指向的是最后一个元素指向的下一个位置) 02.类B中使用了类A中的私有数据,可以选择将类B中的一部分设为类A的友元。 存在的问题:一方面,类B中使用了类A的数据,故要先定义类A;另一方面,类A声明类B的一原创 2021-12-26 22:18:43 · 151 阅读 · 0 评论 -
C++学习笔记07
01.创建派生类对象时,先创建基类对象,若派生类构造函数没有初始化其基类部分,相当于调用基类默认构造函数(当基类没有默认构造函数时,必须在派生类构造函数中初始化其基类部分)(从构造函数角度看,WARN(str)和string str="\0"选其一即可,WARN(str)是为了使用虚函数).02.析构派生类对象时,先析构其派生类部分。03.基类引用可以指向基类对象和派生类对象,即WARN&WN可指向WARN对象或者WARNN对象,若把catch(WARN& WN)放在catch(WARNN&WNN)前面原创 2021-07-14 21:24:33 · 90 阅读 · 0 评论 -
C++学习笔记07
模板成员函数的每个函数头将以相同的模板声明打头。first有两种类型,一种返回引用,一种返回复制值。pair类为wine类的私有成员,不能直接访问:当Wine类与pair类为包含关系时:PairArray::first()[i];(包含将对象作为一个命名的成员)当Wine类与pair类为私有继承时:PR.first()[i];(PR为Wine中的Pair类实例化名称)(私有继承将对象作为一个未命名的成员)原创 2021-07-14 16:15:54 · 84 阅读 · 0 评论 -
C++学习笔记06
cd为classic的基类在进入{}之前基类要被创立好,因此使用初始化列表 cd()派生类的默认构造函数的初始化列表为调用基类的默认构造函数。派生的复制构造函数的初始化列表为调用基类的复制构造函数,在{}中完成派生类对象的赋值。派生类对象通过数据成员赋值的构造函数的初始化列表为调用这些数据成员参数的基类构造函数。原创 2021-06-20 21:56:32 · 452 阅读 · 0 评论 -
c++学习笔记05
1.Cow& Cow::operator=(const Cow& c){ if (this == &c) return(*this); delete hobby; //for (int i = 0; i < 20; i++) //name[i] = c.name[i]; strcpy_s(name, 20, c.name); int len = strlen(c.hobby); hobby = new char[len + 1]; strcpy_s(原创 2021-06-19 21:59:37 · 118 阅读 · 0 评论 -
C++学习笔记04
1.this指针与const方法原型const Stock& topval(const Stock &s)const;第一个const:返回对象是const类型的;第二个const:函数不会修改显示访问的对象;第三个const:函数不会修改隐式访问的对象;非成员函数不允许使用该const,比如重载的<<运算符,因为是友元函数。方法定义const Stock &Stock::topval(const Stock &s) const{if(s.to原创 2021-06-18 21:57:58 · 149 阅读 · 0 评论 -
C++学习笔记03
c++学习笔记03编译器使用三块独立的内存:1.静态存储区用于静态变量2.自动内存用于自动变量使用LIFO,使用栈,由作用域和链接性规则控制3.动态内存用于动态存储由运算符new来创建delete指向常规new运算符分配的堆内存,而定位运算符使用的内存为静态内存,delete对其不起作用,每次使用定位运算符分配的内存,不改变内存地址,而是覆盖原有的内容。#include<iostream>using namespace std;struct chaff{ char dro原创 2021-06-18 11:22:49 · 80 阅读 · 0 评论 -
C++学习笔记02
01,int a;cin>>a;键入M,返回0,用此控制输入的格式.(输入数字时,cin先获取对应的ASCLL码,由于目标是int型,再将其转化为数字保存在内存单元a中。02,int a;char b;cin>b;’;a=b键入M,在内存单元b中保存的是M对应的ASCLL码,赋值号可将其赋值给a小结:cin要先看给什么类型的数据服务,给int型服务时只接受数字输入,给char型服务时都接受。cin的力量是在服务类型正确时将输入转换成可以保存在内存的单元中的类型(ASCLL码)。原创 2021-04-23 22:14:52 · 236 阅读 · 0 评论 -
C++学习笔记01
如果给cout提供一个字符的地址,则它从该字符开始打印,直到遇到空字符为止。aa数组名为字符H所在的地址,故将其提供给cout即可完成打印,“ “可隐式地包括结尾的空字符,若将”HELLO“直接提供给cout,”HELLO“本质其实也是字符串的首地址。但给cout提供一个整形的地址时,cout将打印的是整型所在的地址。const放在此处的意味是禁止改变cc所指向地址的值(但可以改变指向的地址),若无const,则意味可以改变常量“HELLOtoo”的值,这与它的常量性质相矛盾。原创 2021-04-18 15:30:09 · 81 阅读 · 0 评论