C++
Young__Fan
学习,记录,分享,持之以恒
展开
-
C语言函数传递指针参数的问题(包含传递双指针)
https://blog.csdn.net/gl486546/article/details/53375999转载 2019-08-01 21:15:10 · 3021 阅读 · 0 评论 -
位运算
1. 位运算的常规情况(1)<< : 左移运算符。value << n,就是指value的二进制形式整体向左移动n位,表示在十进制上就是value乘以2的n次方。value <<1就是value乘以2。1). 当value是正数。使用左移运算符移动n位,最左边的n位将会被丢弃,同时在最右边补上n个0。此时的符号位也在移动也被丢弃了(开头的符...原创 2019-04-26 20:21:49 · 1068 阅读 · 0 评论 -
C++之链表
C++链表学习笔记:https://blog.csdn.net/u011411195/article/details/51150102原创 2019-04-16 23:33:32 · 608 阅读 · 0 评论 -
C++中的getline()
C++中的getline():http://www.cnblogs.com/ymd12103410/p/9514896.html转载 2018-12-20 11:50:34 · 647 阅读 · 0 评论 -
fstream、ifstream和ofstream的使用
特别提出的是,fstream有两个子类:ifstream(input file stream)和ofstream(outpu file stream),ifstream默认以输入方式打开文件,而ofstream默认以输出方式打开文件。所以,在实际应用中,根据需要的不同,选择不同的类来定义。如果想以输入方式打开,就用ifstream来定义;如果想以输出方式打开,就用ofstream来定义;如...原创 2018-12-20 11:18:32 · 732 阅读 · 0 评论 -
C++类模板
1 类模板 类模板和函数模板的定义和使用类似,我们已经进行了介绍。有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同。 1.类模板用于实现类所需数据的类型参数化 2.类模板在表示如数组、表、图等数据结构显得特别重要,这些数据结构的表示和算法不受所包含的数据类型的影响。/** *Copyright (c) 2018 Young Fan.All R...原创 2018-07-10 12:11:06 · 374 阅读 · 0 评论 -
函数模板案例之对char和int类型数组排序
/** *Copyright (c) 2018 Young Fan.All Right Reserved. *Filename: 3 函数模板案例_对char和int类型数组排序 *Author: Young Fan *Date: 2018.4.30 *IDE: Visual Studio 2017 *Description: 函数模板案例_对char和int类型数组排序 */#...原创 2018-07-10 11:14:17 · 500 阅读 · 0 评论 -
函数模板和普通函数区别
/** *Copyright (c) 2018 Young Fan.All Right Reserved. *Filename: 2 函数模板和普通函数区别 *Author: Young Fan *Date: 2018.4.19 *IDE: Visual Studio 2017 *Description: 函数模板和普通函数区别 */#include<iostream>...原创 2018-04-19 18:32:30 · 885 阅读 · 0 评论 -
函数模板的基本语法
模板:实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来代表。这个通用函数就成为函数模 板 c++提供两种模板机制:函数模板和类模板 类属- 类型参数化,又称参数模板 使得程序(算法)可以从逻辑上抽象,把被处理的对象(数据)类型作为参数传递。用模板是为了实现泛型,可以减轻编程的工作量,增强函数的重用性。 基本语法如下: template<...原创 2018-04-19 18:29:09 · 344 阅读 · 0 评论 -
类的兼容性赋值原则
#include<iostream>using namespace std;/* 子类对象可以当作父类对象使用 子类对象可以直接赋值给父类对象 子类对象可以直接初始化父类对象 父类指针可以直接指向子类对象 父类引用可以直接引用子类对象*/class Parent{public: void printP() { ...原创 2018-04-14 11:14:12 · 721 阅读 · 0 评论 -
继承的方式
#include<iostream>//#include<memory>using namespace std;class Parent{public://访问控制权限 int pub;//在类的内部和外部都能访问protected: int pro;//在类的内部可以访问,在类的外部不能访问private: int pri;//...原创 2018-04-14 11:08:22 · 127 阅读 · 0 评论 -
继承的基本概念
类与类之间的关系#include<iostream>using namespace std;class A{public: void func() { cout << "funcA" << endl; } int a;};//类B拥有类A 的成员变量,B has A,即类B依赖于类Aclass...原创 2018-04-14 10:55:21 · 252 阅读 · 0 评论 -
结构体
c结构体、c++结构体和c++类的区别以及错误纠正:https://blog.csdn.net/mercy_ps/article/details/82918677typedef关键字与结构体、结构体指针的定义:https://blog.csdn.net/u013632190/article/details/47720703struct和typedef struct彻底明白了https:/...转载 2019-04-17 23:01:38 · 1333 阅读 · 0 评论 -
二维数组与指针
二维数组:https://blog.csdn.net/xiaobaibai915/article/details/79943659二维数组元素的地址:https://blog.csdn.net/zhangjunqis/article/details/77304165转载 2019-04-27 16:17:36 · 188 阅读 · 0 评论 -
C语言”%p”的意思-----printf("%p",p)
printf("%p",p) %p是打印地址(指针地址)的,是十六进制的形式,但是会全部打完,即有多少位打印多少位。32位编译器的指针变量为4个字节(32位),64位编译器的指针变量为8个字节(64位)。所以,在32位编译器下,使用%p打印指针变量,则会显示32位的地址(16进制的);在64位编译器下,使用%p打印指针变量,则会显示64位的地址(16进制的),左边空缺的会补0...原创 2019-05-27 18:34:21 · 47235 阅读 · 1 评论 -
如何使用vs在调试时查看内存
操作方式:首先,加断点让VS处于调试状态下。然后,在vs中点击菜单【调试】->【窗口】->【内存】->【内存1】/【内存2】/【内存3】/【内存4】即可打开内存窗口,这内存1,2,3,4只是窗口而已。/** *Copyright (c) 2019 Young Fan.All Right Reserved. *Author: Young Fan *Date: 2...原创 2019-05-26 19:36:23 · 29195 阅读 · 8 评论 -
C/C++中的memset函数
https://blog.csdn.net/songuooo/article/details/7819790https://blog.csdn.net/qq_22122811/article/details/52738029转载 2019-05-20 21:54:07 · 283 阅读 · 0 评论 -
C++栈和队列
使用标准库的栈和队列时,先包含相关的头文件#include<stack>#include<queue>定义栈如下:stack<int> stk;定义队列如下:queue<int> q;1 栈1、栈(Stack)是一种线性存储结构,它具有如下特点:(1)栈中的数据元素遵守“先进后出"(First In Last Ou...原创 2019-05-06 23:11:15 · 296 阅读 · 0 评论 -
nullptr与NULL
nullptr详解:https://blog.csdn.net/u010983763/article/details/53667468NULL与nullptr;https://blog.csdn.net/znzxc/article/details/80354434用空指针就尽可能的使用nullptr。转载 2019-04-24 17:42:34 · 546 阅读 · 0 评论 -
二叉树集锦
C语言递归创建一颗二叉树:https://blog.csdn.net/kuishao1314aa/article/details/79709956剑指Offer——重建二叉树——C++:https://blog.csdn.net/hellozmz/article/details/53331851建立一棵二叉树:https://blog.csdn.net/syqhit/article/det...转载 2019-05-03 22:28:02 · 250 阅读 · 0 评论 -
C++笔记(cstring和string的区别)
https://blog.csdn.net/qian_chun_qiang/article/details/80648691转载 2019-04-24 09:10:48 · 605 阅读 · 0 评论 -
C++用new和不用new创建类对象区别
C++创建对象的两种方法(C++用new和不用new创建类对象):https://blog.csdn.net/lz20120808/article/details/40833517C++用new和不用new创建类对象区别:https://www.cnblogs.com/kissfu/p/3301436.html...转载 2019-04-28 12:41:26 · 4209 阅读 · 1 评论 -
C++中new 和 delete在类和结构体的使用
C++动态分配内存空间 : new 和 delete:https://blog.csdn.net/m0_37153702/article/details/77845269C++中的new与struct:https://blog.csdn.net/yongan1006/article/details/7715990转载 2019-04-18 23:42:19 · 8009 阅读 · 0 评论 -
C++中为什么str=new char[strlen(s)+1];中要加1
为什么要使用strlen(s) + 1?在 C 语言中,字符串是以空字符做为终止标记(结束符)的。所以,C 语言字符串的最后一个字符一定是\0。请确保所有的字符串都是按照这个约定来存储的,不然程序就会因为莫名其妙的错误退出。strlen函数返回的是字符串的实际长度(所以不包括结尾的\0终止符)。所以为了保证有足够的空间存储所有字符,我们需要在额外 +1。如"abc",占四个字节,st...原创 2019-04-23 18:17:52 · 6988 阅读 · 3 评论 -
自定义智能指针
#include<iostream>#include<memory>//智能指针在其中using namespace std;class A{public: A(int a) { cout << "A()..." << endl; this->a = a; } voi...原创 2018-04-14 10:36:48 · 470 阅读 · 0 评论 -
纯虚函数和抽象类
#include<iostream>using namespace std;//图形类//如果一个类拥有纯虚函数,就称这个类是一个抽象类。//不管这个类中有没有成员属性,只要这个类有纯虚函数,就是一个抽象类,抽象类是不能实例化的class Shape{public: //求图形面积的方法 //表示图形类声明一个方法getArea(),她是一个纯虚...原创 2018-04-17 10:13:45 · 234 阅读 · 0 评论 -
虚析构函数
#include<iostream>using namespace std;class A{public: A() { cout << "A()..." << endl; this->p = new char[64]; memset(this->p,0,64);//清空数...原创 2018-04-17 10:04:44 · 116 阅读 · 0 评论 -
3.2默认的无参构造和析构函数
#include<iostream>using namespace std;class Test{public: //默认的无参构造函数#if 0 Test() { }#endif //显式无参构造,会覆盖默认的 Test() { m_x = 0; m_y = 0; } ...原创 2018-03-13 23:05:27 · 412 阅读 · 0 评论 -
3.1 构造函数与析构函数
#include<iostream>using namespace std;class Test{public: Test()//无参构造函数 { m_x = 0; m_y = 0; } //test类的构造函数 //在对象被创建的时候,用来初始化的函数 Test(int x,int y)...原创 2018-03-13 22:53:06 · 152 阅读 · 0 评论 -
3.7 new和delete
#include<iostream>using namespace std;class Test{public: Test() { m_a = 0; m_b = 0; } Test(int a,int b) { cout << "Test(int, int)" &l...原创 2018-03-18 21:54:54 · 110 阅读 · 0 评论 -
2.12.求圆面积的多文件形式
点的头文件Point.h#pragma onceclass Point{public: void setXY(int x,int y); int getX(); int getY();private: int m_x; int m_y;};圆的头文件Circle.h#pragma once#include "Point.h"...原创 2018-03-12 21:01:25 · 250 阅读 · 0 评论 -
使用include头文件时,尖括号与双引号的区别
include <>格式: 一般用于包含标准的库头文件,编译器会去系统配置的库环境变量和者用户配置的路径去搜索,而不会在项目的当前目录去查找incluce “”格式: 一般用于包含用户自己编写的头文件,编译器会先在项目的当前目录查找,找不到后才会去系统配置的库环境变量和用户配置的路径去搜索而且: 无论这个文件是C/C++提供的还是用户自己编写的,都可以使用#include...原创 2018-03-12 20:30:58 · 1433 阅读 · 0 评论 -
2.11 求点是否在圆内
#include<iostream>using namespace std;//点类class Point{public: //获取点的位置 void setXY(int x,int y) { m_x = x; m_y = y; } int getX() { return m_x...原创 2018-03-12 17:42:43 · 488 阅读 · 0 评论 -
2.10 求两个长方体是否相等
#include<iostream>using namespace std;//长方体类class Cuboid{public: void setABC(int a, int b,int c) { m_a = a; m_b = b; m_c = c; } int getArea() ...原创 2018-03-12 16:31:13 · 454 阅读 · 0 评论 -
面向过程与面向对象
#include<iostream>using namespace std;class Dog{public: char name[64]; void eat(char *food) { cout << name << "吃" << food <<endl; }};//面...原创 2018-03-12 15:28:20 · 165 阅读 · 0 评论 -
3.6 构造函数的初始化列表
#include<iostream>using namespace std;class A{public: A(int a) { cout << "A()...." << a << endl; m_a = a; } ~A() { cout <&l...原创 2018-03-16 18:56:51 · 110 阅读 · 0 评论 -
3.5 c++中的深拷贝与浅拷贝
#include<iostream>using namespace std;class Teacher {public: Teacher(int id,char *name) { cout << "Teacher(int id,char *)" << endl; //赋值id m_id =...原创 2018-03-14 22:43:47 · 252 阅读 · 1 评论 -
3.3拷贝构造函数
#include<iostream>using namespace std;class Test{public: Test() { m_x = 0; m_y = 0; } Test(int x,int y) { m_x = x; m_y = y; } ...原创 2018-03-13 23:09:23 · 178 阅读 · 0 评论 -
3.9 static练习和强化练习
计算长方体的体积#include<iostream>using namespace std;class Box{public: Box(int l,int w) { len = l; width = w; } int volume() { int v = len*width*hight; co原创 2018-03-18 22:12:59 · 325 阅读 · 0 评论 -
4.1 this指针
#include<iostream>using namespace std;class Test{public: Test(int k) { this->m_k = k;//要常使用this 增加可读性 } int getK() const //成员函数尾部出现const,修饰的是this指针 ...原创 2018-03-21 18:58:23 · 159 阅读 · 0 评论