c++
文章平均质量分 66
bajieke
这个作者很懒,什么都没留下…
展开
-
内存分配-----
wu原创 2022-07-14 19:27:38 · 100 阅读 · 0 评论 -
24、模板
泛型编程:主要利用的技术就是模板模板:函数模板、类模板模板: 提高复用性,将类型参数化二、函数模板1、函数模板语法template<typename T>template: 声明创建模板typename: 后面符号是 数据类型(可用class代替)T:通用的数据类型//模板template<typename T>void mySwap(T& a, T& b){ T temp = a; a = b; b =...原创 2021-08-30 08:36:13 · 123 阅读 · 0 评论 -
23、C++职工管理系统
// 来源黑马c++Woker //抽象基类Employee:public WokerManager :public WokerBoss :public WokerwokerManager //功能类职工管理系统.cpp //主函数-----------------------------------------Woker** m_EmpArray = new woker*[this->m_empNum];m_empArray[ i ] = ...原创 2021-08-29 12:14:15 · 120 阅读 · 0 评论 -
22、C++(继承、多态、文件)总结
一、抽象基类1、子类不析构AbstractCalculator *abs = new AddCalculator;delete abs; //单纯delete,调用析构.2、子类析构(抽象基类,虚析构)Animal* animal = new Cat( "花花" );delete animal; //delete animal时,会调用animal的析构函数 ( //而且子类Cat,存在在堆区开辟空间情况 )...原创 2021-08-27 20:01:00 · 89 阅读 · 0 评论 -
21、C++文件
一、文本文件ifstream:(input)、读文件ofstream:(output)、写操作fstream:读写文件(1)、写文件----------------------------------------#include<fstream>ofstream ofs; //创建流对象ofs.open("文件路径", 打开方式); //打开文件ofs<<"写入的数据"; //ofs,往文件上输出,cout...原创 2021-08-25 11:57:49 · 600 阅读 · 0 评论 -
20、C++多态—(纯虚函数,抽象类,虚析构,纯虚析构)
一、多态的基本语法多态:静态多态、动态多态静态多态:函数重载、运算符重载动态多态:派生类和虚函数实现运行时多态区别:静态多态函数地址早就绑定 -编译阶段确定函数地址静态多态函数地址晚绑定 - 运行阶段确定函数地址————————————————class Animal{public: void speak() { cout << "动物在说话。" << endl; }};class Cat :publi...原创 2021-08-23 22:51:21 · 270 阅读 · 0 评论 -
19、C++继承-(对象模型,子父类同名成员,菱形继承)
一、继承的基本语法基类(父类)派生类(子类)继承:减少重复代码class 子类 :public 父类{}二、继承方式基类:public权限、protected权限、private权限1、公共继承(除私有,其他权限和父类一模一样)共有继承:基类public权限(任然在派生类public)、 基类protected权限(任然在派生类protected)、 基类private(不可访问)2、...原创 2021-08-23 20:36:41 · 159 阅读 · 0 评论 -
18、运算符重载
目的:对运算符再定义,以适应不同的数据类型一、加号(+)运算符重载1、自己写函数,实现两个对象相加Person Person::addPerson(Person& p){ Person temp; temp.m_A = this->m_A + p.m_A; temp.m_B = this->m_B + p.m_B; return temp; //调用拷贝构造函数}Person p3=p2.addP...原创 2021-08-22 14:02:39 · 110 阅读 · 0 评论 -
17、C++友元函数
友元目的:让一个函数或一个类,访问另一个类中的私有成员一、全局函数做友元全局函数里在类中声明为友元后,可以访问这个类的私有成员二、类做友元class GoodGay{ .....};class Building{friend class GoodGay; // GoodGay类 做 Building类 的友元 ......};Building *building;building = new B...原创 2021-08-18 19:23:22 · 73 阅读 · 0 评论 -
16、C++对象模型和this指针
一、成员变量和成员函数分开存储类的成员变量和成员函数分开存储只有非静态成员变量才属于类的对象class Person{public: int m_A; float m_B; char m_C; double m_D; //内存对齐};Person p;sizeof(p)=24 内存对齐:4 4 1+(3) 8 = 20 20+4=24 (24%8==0)空对象...原创 2021-08-08 12:42:11 · 63 阅读 · 0 评论 -
15、C++对象的初始化和清理
一、构造函数和析构函数构造函数:编译器自动调用,主要为对象成员属性赋值, 程序在调用对象时,自动调用构造函数 有参数,可以发生重载析构函数:对象销毁前,系统自动调用,执行一些清理工作 程序在对象销毁前,自动调用析构函数,无需手动调用 没有参数,不可以重载编译器提供的构造函数和析构函数是空的二、构造函数的分类及调用1.分类参数分类...原创 2021-08-06 20:56:23 · 161 阅读 · 0 评论 -
14、C++类和对象(封装)
C++三大特性:封装、继承、多态类(对象)1、封装意义:属性和行为权限进行控制2、访问权限//protected 派生类可以访问父类//private 始终不可访问//public 类外可以访问//private 类外不可访问//protected 类外不可访问class和struct的区别:默认访问权限不同struct权限:默认共有class权限:默认私有...原创 2021-08-06 10:27:33 · 38 阅读 · 0 评论 -
13、C++函数重载(提高复用性)
一、函数重载满足条件:1、同一作用域下2、函数参数(类型不同 or 个数不同 or 顺序不同)//参数顺序,不同(参数间必须是不同类型)void func(double a, int b){ cout << "func(double a,int b)的调用 4 " << endl;}void func(int a, double b){ cout << "func(int b,double a)的调用 5" << end...原创 2021-08-05 16:46:08 · 352 阅读 · 0 评论 -
12、C++(默认参数、占位右参数)
一、默认参数//函数定义(实现)和 声明中,默认参数只能定义一次,否则产生二义性//只在实现中定义默认参数int func03(int a , int b );int func03(int a, int b=70){ return a + b;}//只在声明中定义默认参数int func04(int a, int b = 90);int func04(int a, int b){ return a + b;}二、占位参数//占位参数: 只写一个类型,没有变...原创 2021-08-05 15:19:03 · 62 阅读 · 0 评论 -
11、C++引用
1、int a=10;int &b=a; //b是a的引用(别名)不管是通过a修改,还是b修改那块内存的值,修改后,a,b的值一样都是那块内存中被修改 了的值2、引用必须初始化初始化后,不可以更改 (b已经是a的引用,那么b就不可以再为其他变量的引用)int a = 10 , c=20;int &b = a;b=c; //这不是更改引用,而是赋值,(把c的值赋值给b和a)...原创 2021-08-04 14:13:32 · 109 阅读 · 0 评论 -
10、C++内存四区+new
内存四区——生命周期不同程序运行前(生成.exe文件)——代码区、全局区程序运行后——栈区、堆区一、代码区(所有代码的二进制形式)存放你所写的所有代码,的二进制形式(——>CPU机器指令)特点:共享——重复的代码,只占相同的空间,不会浪费 只读——点击exe文件之后,里面的内容不会被修改二、全局区(全局变量、静态变量、常量)全局变量静态变量全局区中还包括一个常量区 常量区——字符串常量 ...原创 2021-08-04 13:04:22 · 187 阅读 · 0 评论 -
9、C++案例
cout << " 性别:" << (abs->personArray[i].m_Sex == 1 ? "男":"女");string sex;sex==1 ? " 男”:"女";#include<iostream>using namespace std;#include<string>#define MAX 1000//设计联系人结构体struct Person{ string m_Name; int m_Sex; .原创 2021-08-03 23:07:25 · 112 阅读 · 0 评论 -
8、C++结构体
基本概念一、定义和使用1、struct Student s1; //c++中,struct可以省略 Student s1;2、struct Student s2={ ... }; //Student s2={ ... };3、struct Student {... } s3;// string name; //字符串定义时s1.name //这样使用struct Student{ string name;...原创 2021-08-03 14:26:13 · 107 阅读 · 0 评论 -
7.C++_指针
一、指针变量的定义和使用 int a=10;int *p=&a; // 指针p指向a的地址 (指针p中,保存的是a的地址)int *p=100; //则a=100,可以通过指针来修改a的值二、指针所占的内存空间int a = 10;int* p = &a;不管什么数据类型32位操作系统,指针占用内存4字节 (指针保存的内容就是地址)64位操作系统,指针占用内存8字节sizeof(p) = 4;sizeof(int *)= 4;siz...原创 2021-08-02 10:41:00 · 93 阅读 · 0 评论 -
6.C++_函数(值传递、分文件编写)
一、值传递值传递时,函数形参发生改变,并不会影响实参实参和形参占用的是不同的内存空间,所以形参内存改变不影响实参除非return了具体类型,体现出来了改变或者在函数中直接打印(比如交换),也才在函数中体现了改变,main中实参不改变其他一律,不体现,实参也不改变void swap(int num1, int num2){ int temp = num1; num1 = num2; num2 = temp;}二、分文件编写1、创建后缀名为.h的头文件2、创建后缀原创 2021-08-01 22:42:11 · 82 阅读 · 0 评论 -
5.C++数组(一维数组,二维数组,冒泡排序)
一、一维数组二、二维数组原创 2021-07-18 09:39:57 · 447 阅读 · 0 评论 -
4.C++程序流程结构(选择,循环,跳转)
一、选择结构if (score > 600) //第一选择分支 { cout << "恭喜您考上了一本大学!" << endl; } else if (score > 500) //第二选择分支,先看满足第一选择否 { cout << "恭喜您考上了二本大学!" << endl; } else if (score > 400) //第三选择分支,先看满足第一否,再看满足第二否 { cout原创 2021-07-17 15:57:03 · 165 阅读 · 0 评论 -
3.C++运算符
一、算术运算符 (加减乘除)+ - */ a/b b不能为0% (求余数) a%b b不能为0 (只有整型变量才能取模运算)++int b1 = a1++; // b1=10 a1=11 先赋值,后加一int b2 = ++a2; // b2=11 a2=11 先加一,后赋值--二、赋值运算符= += -= *= /=%= (a %= 2; ...原创 2021-08-01 22:43:24 · 48 阅读 · 0 评论 -
2.C++_数据类型(整型,sizeof,实型,字符型,转义字符,bool,数据输入)
数据类型作用:给变量分派合适内存空间(空间不同,取值范围不同)一、整型变量short (2字节)取值范围:-32768~32767int (4字节)long (4 or 8字节) windows 4, Linux 8 bytelong long (8字节)二、sizeof关键字作用:统计数据类型所占内存大小sizeof(数据类型 or 变量)// short num1 = 10; cout << "short所占内存空间大小:" <&...原创 2021-07-15 13:04:08 · 594 阅读 · 0 评论 -
1.C++初识(变量,常量,关键字,标识符)
一、变量变量:给内存空间起名,变量存在的意义:方便管理内存空间管理这段内存二、常量常量:用于记录程序中不可更改的数据1.#define常量// #define Day 72.const修饰的常量// const int months=12;三、关键字关键字:C++中预先保留的单词(标识符)四、标识符(变量,常量名)标识符命名规则:1.不能是关键字// int int=10; (错误)2.由字母,数字,下划线组成3.开头以字母或下..原创 2021-07-15 09:51:38 · 96 阅读 · 0 评论