![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++学习
文章平均质量分 75
C/C++的学习笔记
LionelMartin
这个作者很懒,什么都没留下…
展开
-
C++——异常检测与处理
try 语句块 和异常处理异常是指存在于运行时的反常行为,这些行为超出了函数正常功能的范围。典型的异常包括失去数据库连接以及遇到意外输入等。处理反常行为可能是设计所有系统最难的一部分。C++ 提供了异常处理机制,用于对程序中异常检测和异常处理这两个部分的协作提供支持。包括:throw 表达式,异常检测部分使用throw 表达式来表示它遇到了无法处理的问题。try 语句块,异常处理部分使用try 语句块处理异常。try 语句块以关键词 try 开始,并以一个或多个 catch 子句 结束。try原创 2022-01-17 14:47:32 · 1540 阅读 · 0 评论 -
C++——模板(泛型编程)
学习黑马的实验,然后自己写类似的训练原创 2022-01-16 20:07:54 · 696 阅读 · 0 评论 -
C++ 学习-多态
多态C++的三大特性之一分类:静态多态:函数重载 和 运算符重载,即复用函数名;动态多态:派生类 和 虚函数 实现运行时的多态区别:静态多态的函数地址早绑定 , 即 在编译阶段才确定函数地址动态多态的函数地址晚绑定 , 即 在运行阶段才确定函数地址#include <iostream>using namespace std;class Animal{public: void speak() { cout <<"动物说话"<< en原创 2022-01-14 14:32:57 · 973 阅读 · 0 评论 -
C++学习——文件操作
文件操作程序运行过程中产生的数据都属于临时数据,程序一旦运行结束就会被删除掉。可以通过文件存储的方式将数据存储下来。文件类型分类:文件文本 —— 文件以文本的ASCII码形式存储在计算机中二进制文件 —— 文件以文本的二进制形式存储在计算机中,(二进制较难直接懂)C++的头文件的包含:#include<fstream>(文件流)文件操作的三大类:ofsream : 写操作ifstream :读操作fstream :读写操作读写文本文件的操作(基本步骤)包含头文件原创 2022-01-13 18:21:27 · 4476 阅读 · 0 评论 -
C++(9)运算符重载
即:对已有的运算符重新进行定义,富裕其另外一种功能,以适应不同的类型运算比如 加法 + ,基本的类型,int,float等,编译器是知道如何计算的。但是,对于自定义类或者其他高级点的类型时,编译器就不知道“+”运算法该如何操作了,这是就可以使用运算法重载的操作。通过成员函数重载 + 号class Person{public: //成员函数重载+号 Person operator+(Person &a) { Person temps; temps.m_A = this-&原创 2021-11-17 16:38:53 · 349 阅读 · 0 评论 -
C++(7)友元函数
重载说实话,我也有点含糊不清,不过以我的理解 重载 就是将已经存在的运算符的功能重新定义一次再使用,有点牵强友元函数简化的说,所谓友元函数就是一种能访问类成员函数的非成员函数创建友元函数,如下:friend MyClass operator+(double x, const MyClass & t);//很迷惑的是,在对重载函数进行声明时,只能有一个定义参数;当将其转化为友元函数时,重载函数才能使用两个参数。重载函数与友元函数的示例#ifndef TEST_7_H_#define原创 2021-11-17 16:38:20 · 194 阅读 · 0 评论 -
C++学习(8)继承
继承概念继承是C++面向对象编程的重要概念,它运行我们依据另一个类来定义一个类。当创建一个类时,你不需要重新编写新的数据成员和成员函数,只需要指定新建的类继承一个已有类的成员即可。这个已有的类 被称为 基类新建的类 被称为 派生类// 基类class Animal { // eat() 函数 // sleep() 函数};//派生类class Dog : public Animal { // bark() 函数};...原创 2021-06-25 19:25:58 · 166 阅读 · 0 评论 -
C++(7)类和动态内存分配
对类的成员变量加上 static如:class MyClass{private: double m; static int k;public: MyClass(); ~MyClass();};//初始化int MyClass::k = 0;int main(){} void kkk(){ int MyClass::k = 0;}对成员变量 k 加上 static 关键字,即:将其声明为静态存储类,其特点是 无论创建了多少对象,程序都只创建一个静态类变量k的原创 2021-06-25 19:24:50 · 131 阅读 · 0 评论 -
C++学习(6)对象和类
类定义一般来说,类被定义在头文件中,再被cpp文件所调用,test_6.h 头文件//test_6.h#ifndef TEST_6_H_#define TEST_6_H#include<string>class MyClass //以MyClass作为类名称{public: void sell(); void test(); private: std::string company; double buy; void set_() { buy =2*2; }原创 2021-06-25 19:24:09 · 184 阅读 · 0 评论 -
C++学习(5)内存模型、静态变量等(易错点、重要概念)
关于#include"" 和#include<> 的区别问题使用<> 给编译器的提示是:在存储标准头文件的主机系统的文件系统中查找头文件使用 “” 给编译器的提示是:首先在当前工作目录或源代码目录查找,若没有则再到标准位置文件中查找。关于防止多次调用同一头文件的问题C/C++都不允许在同一文件中多次调用同一个头文件,不然会导致编译出错。为了解决这种问题,一般采用的方法是#ifndef BUG_H_#define BUG_H_ 头文件内存 #endif 这样操原创 2021-06-25 19:22:47 · 116 阅读 · 0 评论 -
C++学习(4)函数部分
auto 和 typedef 关键词的用法:#include <iostream>using namespace std;int main(){ auto x = "xxx";//代替几乎所有类型 typedef double x2; x2 xx; cin>>xx; cout << "inputs:" <<xx<<endl<<"auto:"<<x<< endl;}引用:&原创 2021-06-25 19:22:19 · 106 阅读 · 0 评论 -
C++学习(3)for、字符函数库、读取文本文件
for循环与C语言几乎无大差别,存在的差别是C++可以这样写:for(int i =0 ; i<20;i++){}基于范围的for循环例如:string word1 = "?ate";for (char x : word1) { cout << x << endl; }//列表形式循环,多用于容器类for (int t : {2, 3, 5, 6}) { cout << t << endl; }说明:for中的w原创 2021-06-25 19:20:57 · 269 阅读 · 0 评论 -
C++学习(2)数据处理
short 至少16位,int至少与其一样long 至少32位,且至少与int一样long long 至少64位,且至少与 long 一样长限定符:constconst int man=10;man变量将被固定为10,且后续无法修改,和#define 意思差不多浮点类型注意:默认情况下,8.24和2.4E8这样的浮点类型都属于 double 类型若希望变量是 float 类型,需要在添加 f 或者 F 的后缀,即 8.24f类型转换特别写法int guess(3.999);//gue原创 2021-06-25 19:20:02 · 164 阅读 · 0 评论 -
C++学习(1)——输入输出基础
输入输出工具库:需提供:#include<iostream>using namespace std;using namespace std的说明:(1)using namespace std 表示 std 空间中的所有名称都可用(2)若 using std::cout 表示 std 空间中只有 cout 名称可用(3)当#include中没有.h 应当添加 using 语句来使 iostream 中的定义可用;若有 .h 则可得直接使用库中定义,故 using 用于避免不同类中原创 2021-06-25 19:19:13 · 313 阅读 · 0 评论