随笔分类 -  c++程序设计笔记

1
学习c++程序设计的笔记
摘要:多态是c++面向对象三大特性之一 多态分为静态多态和动态多态 。静态多态:函数重载,运算符重载属于静态多态,服用函数名 。动态多态:派生类和虚函数实现运行时多态 静态多态和动态多态区别 。静态多态的函数地址早绑定,编译时确定函数地址 。动态多态的函数地址玩绑定,运行阶段确定函数地址 。虚函数再函数返 阅读全文
posted @ 2021-02-22 23:12 两天阿来 阅读(481) 评论(0) 推荐(0)
摘要:c++菱形继承 概念: 两个派生类继承同一个基类,又有某个类继承者两个派生类 这种继承叫派生继承或钻石继承。 菱形继承成员重名要加作用域,有些数据会出现重复继承的现象,实际上只需要一份数据就可以,从而造成资源浪费使用虚继承virtual可以解决i问题 class 子类:virtual 继承方式 父类 阅读全文
posted @ 2021-02-22 21:58 两天阿来 阅读(212) 评论(0) 推荐(0)
摘要:c++允许一个类继承多个类 语法: class 子类: 继承方式 父类1,继承方式 父类2 多继承可能引发父类中的同名成员出现,要加作用域区分。C++开发中不建议用多继承。 1 #include<iostream> 2 #include<string> 3 using namespace std; 阅读全文
posted @ 2021-02-22 21:18 两天阿来 阅读(209) 评论(0) 推荐(0)
摘要:静态成员和非静态成员出现同名处理方式访问子类同名成员,直接访问访问父类成员需要加作用域 1 #include<iostream> 2 #include <string > 3 using namespace std; 4 5 class a 6 { 7 public: 8 static int m_ 阅读全文
posted @ 2021-02-18 23:31 两天阿来 阅读(177) 评论(0) 推荐(0)
摘要:继承 继承是面向对象三大特性之一 有些类与类之间存在特殊关系如动物 包含了狗和猫,狗又分哈奇士,京巴,猫又分为加菲猫,狸花猫等 像这样一个类下面还分为很多类,下级别的类成员除了拥有上级别的共性,还有自己的特性,只是可以考虑用继承减少重复代码 格式 class 子类:继承方式 父类 子类又叫派生类 父 阅读全文
posted @ 2021-02-18 22:02 两天阿来 阅读(108) 评论(0) 推荐(0)
摘要:函数调用运算符重载operator()(){}函数调用运算符()也可以重载由于重载后使用的方法非常想函数调用。因此称为仿函数仿函数没有固定写法很灵活。 1 #include<iostream>; 2 #include<string>; 3 using namespace std; 4 class M 阅读全文
posted @ 2021-02-18 19:24 两天阿来 阅读(104) 评论(0) 推荐(0)
摘要:关系运算符重载 判断是否相等运算符重载operator(){} 1 #include <iostream> 2 #include<string> 3 using namespace std; 4 5 class Persion//人 6 { 7 public: 8 Persion(string na 阅读全文
posted @ 2021-02-18 17:57 两天阿来 阅读(116) 评论(0) 推荐(0)
摘要:赋值运算符=重载 operator=(){} c++编译器至少给一个类添加4个函数 1、默认构造函数(无参,函数体为空) 2、默认析构函数(无参,函数体为空) 3、默认拷贝函数 (对属性将进行只拷贝) 4、赋值运算符operator=对值进行只拷贝如果类中有属性指向堆区做赋值操作也会出现浅拷贝问题 阅读全文
posted @ 2021-02-17 23:37 两天阿来 阅读(163) 评论(0) 推荐(0)
摘要:C++递增运算符--重载作用:实现自定义类型的--操作。 operator--(){} 1 #include<iostream> 2 using namespace std; 3 class Myinterge 4 { 5 public: 6 friend ostream& operator<<(o 阅读全文
posted @ 2021-02-17 22:36 两天阿来 阅读(109) 评论(0) 推荐(0)
摘要:C++递增运算符++重载作用:实现自定义类型的++操作。 operator++(){} 1 #include<iostream> 2 using namespace std; 3 class Myinterge 4 { 5 public: 6 friend ostream& operator<<(o 阅读全文
posted @ 2021-02-17 22:28 两天阿来 阅读(65) 评论(0) 推荐(0)
摘要:c++左移运算符重载<< 作用:可以输出自定义类型数据 只能通过全局函数来实现不能通过类成员函数来实现无法使cout在左侧 1 #include <iostream> 2 #include<string> 3 using namespace std; 4 5 6 7 class Persion 8 阅读全文
posted @ 2021-02-17 21:10 两天阿来 阅读(113) 评论(0) 推荐(0)
摘要:运算符重载 对已有的运算符重新进行定义,赋予另一种功能,以适应不同的数据类型 加号运算符重载 实现两个自定义数据类型相加运算 operator+()函数游戏用提供 可以通过成员函数重载实现和全局函数重载实现 1 #include<iostream> 2 using namespace std; 3 阅读全文
posted @ 2021-02-17 16:59 两天阿来 阅读(83) 评论(0) 推荐(0)
摘要:4.4友元 作用:让某些函数或类能访问另一个类中的私有成员。 关键字 friend 友元的三种实现 1、全局函数做友元 2、类坐友元 3、成员函数做友元 1 #include<iostream> 2 #include<string> 3 using namespace std; 4 5 class 阅读全文
posted @ 2021-02-17 16:33 两天阿来 阅读(119) 评论(0) 推荐(0)
摘要:类和对象 c++三大特性封装、继承、多态。 C++认为万物皆对象 有属性和行为 封装 1、将属性和行为作为一个整体,表现生活中的事物。 2、将属性和行为加以权限控制。 意义 在设计时属性和行为写在一起,表现事物。 格式 class 类名{访问权限:属性 / 行为}; 1 const dobule P 阅读全文
posted @ 2021-02-16 22:45 两天阿来 阅读(103) 评论(0) 推荐(0)
摘要:内存分区模型; 代码区:存放函数体二进制代码(代码共享和只读) 全局区:存放全局变量和静态变量 (程序结束由操作系统释放) (在普通变量前加static属于静态变量) 栈区:由编译器自动编译释放,存放函数的形参,局部变量,程序结束由系统释放( 不要反回局部变量的地址) 堆区:由程序员分配和释放,若程 阅读全文
posted @ 2021-02-15 17:01 两天阿来 阅读(48) 评论(0) 推荐(0)
摘要:数组定义 1,数据类型 数组名[数值长度]; 2,数据类型 数组名[数值长度]={值1,值2,...}; 3,数据类型 数组名[ ]={值1,值2,...}; 数组下标从零开始,内存中连续存储。 一维数组名用途: int arr[]={1,2,3,4,5,6,7,8}; arr //获取首元素地址 阅读全文
posted @ 2021-02-08 14:33 两天阿来 阅读(83) 评论(0) 推荐(0)
摘要:九九乘法表 1 #include <iostream> 2 3 using namespace std; 4 int main(){ 5 6 for (int i = 1; i <= 9;i++) { 7 for (int j = 1; j <= i;j++) { 8 cout << i << "* 阅读全文
posted @ 2021-02-04 17:23 两天阿来 阅读(95) 评论(0) 推荐(0)
摘要:程序流程结构 选择结构if语句 单行if语句 1 if(条件) 2 语句; 条件值为0则跳过选择非零这执行选择 if(条件){ } else{ } 条件值为为零执行第一个花括号跳过else后的花括号 条件值为零跳过第一个花括号执行else后的花括号 多条件if语句 1 if(){ 2 语句; 3 } 阅读全文
posted @ 2021-02-04 15:28 两天阿来 阅读(87) 评论(0) 推荐(0)
摘要:1 #include <iostream> 2 using namespace std; 3 int main(){ 4 int i=0,j=0; 5 for(;i<10;i++){ 6 for(;j<10;j++) {//明显这个循环只执行了一次 7 cout<<"*"; 8 } 9 cout<< 阅读全文
posted @ 2021-02-04 14:19 两天阿来 阅读(354) 评论(0) 推荐(0)
摘要:c++笔记第一天 //单行注释 /**/多行注释 变量:方便管理内存。格式: 数据类型 变量名 = 变量初始值 常量:记录程序中不可更改的量定义: 1 #define 宏常量 : #define 常量名 常量值 2 const修饰的变量 const 数据类型 常量名=常量值 c++关键字 asm d 阅读全文
posted @ 2021-02-04 09:40 两天阿来 阅读(51) 评论(0) 推荐(0)

1