
C++基础
本人的C++拓荒历程,记录小白逐渐成长的点滴,适合新人查阅C++基本语法
IOT_LOVER
随便写写
展开
-
C++文件操作
文件大多数计算机都使用文件,文件的本质是存储在某种介质上的一系列字节。C++处理文件I/O的方法与标准输入输出类似,但更加复杂,例如读写模式,文件与流的关联,以及文件交替移动等。文件I/O类fstream描述了文件管理的行为,包含ifstream类和ofstream类,还定义了一个fstream类用以同步文件I/O。上述类都是从iostream中的类派生过来。所以这些新类可以使用标准输入输出...原创 2020-01-26 02:54:20 · 414 阅读 · 0 评论 -
C++模板
模板C++ 模板模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。前面提到过,多态体现了泛型编程的思想,其语法基础是虚函数和虚继承,那么模板同样是泛型编程必不可少的工具。函数模板通过函数重载的方式,可以简单实现同名函数针对不同参数及数据类型进行处理并且不产生冲突,缺点是编写的代码量偏大,函数模板可以很好地解决这个问题。template<typename T&g...原创 2020-01-05 12:19:10 · 227 阅读 · 0 评论 -
C++类型转换
旧式类型转换C/C++通用类型转换:(int)0.1;char a;(float) a;(type)value,(type)expression为旧式类型转换的基本形式。新型类型转换注意,一下介绍的都是运算符,非函数api。static_cast< type > ( epression )class father{};class son{};int mai...原创 2020-01-04 03:57:46 · 126 阅读 · 0 评论 -
C++异常
异常关于异常异常处理机制是面向对象语言特有的,用以处理代码运行中遇到的特殊情形。除了标准库以外,甚至可以自己声明额外的异常情形。注意这里的异常并不等于程序崩溃或内存泄漏等错误,取决于程序所面临的具体情况,有时候并不是一个贬义词。异常实现机制先来个简单粗暴的abort(),其功能可以查询cplusplus.com,截图如下:简单来说,就是通过API判定进程出现错误,传递相应异常信号,如果...原创 2020-01-03 19:24:52 · 196 阅读 · 0 评论 -
C++类的继承
继承初识继承继承的作用是提高程序的复用性,定义一个基础类,其余类可以继承基础类的成员属性。相信子类继承父类的说法大家已经熟悉了。举一个形象的例子:class people{public: string 姓名; int 年龄; void 共同行为() { 吃饭睡觉; }}; //基类,基础类,父类class kid : public people{public: ...原创 2020-01-03 04:04:27 · 167 阅读 · 0 评论 -
运算符重载
运算符重载重载形式运算符重载可以为标准得C/C++运算符进行重定义,本节请好好掌握,STL等高级用法中关于运算符重载的运用非常常见。以用的比较多的"+"运算符为例,话不过说,先上代码。#include <iostream>using namespace std;class Example{public: int A; float B; Exam...原创 2019-12-31 04:45:05 · 258 阅读 · 1 评论 -
内联函数
内联函数基本形式内联函数可以理解为嵌入,用内联函数的代码直接替换掉父函数中的相关代码,可以类比宏定义。区别于常规函数需要跳转执行,内联函数执行效率更高。相应的缺陷就是如果该内联函数多次调用,则对代码区空间是一个很大的浪费。话不多说,内联函数理解起来并不费劲,直接上代码:inline int fun(int c){}int main(){ int a = 0; fun(a); r...原创 2019-12-23 02:02:53 · 223 阅读 · 0 评论 -
拷贝构造
构造函数的基本形式拷贝构造函数的本质也是一个构造函数,一个对象给另一个对象进行初始化的时候,就会调用拷贝构造。话不多说,先上代码:#include <iostream>using namespace std;class Example{public: static int i; Example() { cout <<...原创 2019-12-23 01:00:36 · 153 阅读 · 0 评论 -
const和static成员
常函数话不多说先上代码:#include <iostream>using namespace std;class Example{public: int a; Example()//声明常对象必须写构造函数 { ; } void show() const //构造与析构不能是常函数 { /...原创 2019-12-22 02:07:53 · 179 阅读 · 0 评论 -
构造函数与析构函数
构造函数构造函数的形式构造函数常用于对类成员进行初始化操作,其在对象被创建的时刻运行。构造函数的写法通常是 类名(characters…) 代码如下:class Example{public: int age; void fun() { age = 0; //成员函数对成员进行初始化 cout << "member fu...原创 2019-12-22 00:03:42 · 158 阅读 · 0 评论 -
C++类的基础
类的基本形式C++的类是其面向对象编程思想的基石,类比C语言中的结构体,C++的类是一个对象相关属性的合集,比如一个对象是学生,那么他的身高,性别,性格,行为(函数)都可以作为他的属性。class Student{public://类外可见 string name; int height; string character; void behaviour() { }};//不...原创 2019-12-21 19:56:39 · 162 阅读 · 0 评论 -
C++函数特性
本文介绍C++相对C语言以外的缺省,重载以及防重复包含机制。 函数缺省:所谓缺省参数,顾名思义,就是在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用该默认值,你就无须指定该参数。缺省参数使用主要规则:调用时你只能从最后一个参数开始进行省略,换句话说,如果你要省略一个参数,你必须省略它后面所有的参数,即带缺省值的参数必须放在参数表的最后面。 eg: void fun(...原创 2019-12-19 15:06:36 · 221 阅读 · 0 评论 -
C++引用
类比C语言中的typedef为类型起别名的方式,C++中的引用&为变量起别名。(注意不是取地址符号)。 首先复习一下C语言中的*用法: 1.声明,表示指针变量,eg: int *p = null; 2.*+地址,表示地址操作符, eg: *p = x; p = &a; 3.数字*数字,表示乘法; 下面介绍引用:int a = 0;int &b = ...原创 2019-12-19 13:09:45 · 146 阅读 · 0 评论 -
C++内存申请与释放
C语言中申请内存malloc,释放内存free。 C++中申请内存new,释放内存delete。#include <iostream>#include <cstring> //注意头文件名称using namespace std;int main(){ int *p1 = new int; *p1 = 1;//赋值 delete ...原创 2019-12-19 00:57:25 · 871 阅读 · 0 评论 -
C++结构体与C语言的区别
由于C++面向对象的特性,结构体声明与定义相比C语言简化许多。#include <iostream>using namespace std;struct a{ int a; void fun() { cout << "fun" << endl; }};int main(){ a st...原创 2019-12-19 00:09:58 · 260 阅读 · 0 评论 -
命名空间
命名空间是C++对同名函数与成员提供的解决方案,众所周知,C语言中无法定义同名的变量,函数。C++命名空间可以合理地规避这个问题。#include <iostream>using namespace std;namespace stu1{ void sort() { cout << "stu1" << endl; ...原创 2019-12-18 23:13:39 · 155 阅读 · 0 评论 -
标准输入输出函数
这是C++的第一段程序,主要呈现主函数的形式,输入输出流的基本用法。代码编译器可以根据自己喜好选择VS,笔者使用的是QT。#include <iostream> //加入头文件的方法using namespace std; //打开(标准)命名空间int main(void) //尽可能使用标准形式{ cout << "Hello World!" &...原创 2019-12-18 22:51:59 · 226 阅读 · 0 评论