![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
一只努力的喵
这个作者很懒,什么都没留下…
展开
-
全局变量和静态变量的区别
静态变量,全局变量存储在数据段。非静态局部变量存储在栈上。(1)全局变量 具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包括全局变量定义的源文件需要用extern关键字再次声明这个全局变量。(2)静态局部变量 具有局部作用域。它只被初始化一次,生命周期是全局,静态局部变量只对定义自己的函数体始终可见。(3)局部变量 也只有局部作用域,生命周期是局部。(4)静态全局变量 也具有全局作用域,作用于定义它的文件里,不能作用到其他文件里。...原创 2020-07-16 19:45:04 · 3080 阅读 · 0 评论 -
单例模式
1.什么是单例模式?一个类只能创建一个对象称单例模式,该模式可以保障系统中该类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。2. 分类:(1)饿汉模式: 程序启动时就会创建一个对象。优点:简单缺点:可能会导致进程启动缓慢,且当有多个单例对象实例时,启动顺序不确定。实现://饿汉模式class Singleton{public: static Singleton* GetInstance() { return &m_instance; }priv原创 2020-07-16 19:41:11 · 60 阅读 · 0 评论 -
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
思路: 两个数按位与,并左移两位,得到进位两个数按位异或,得到不带进位的两个数之和 int Add(int num1, int num2) { if(num1==0) return num2; if (num2==0) return num1; //两数相与左移一位是进位 int s1=(num1&num2)<<1; //两数原创 2020-07-16 10:13:53 · 128 阅读 · 0 评论 -
数组中重复的数字
题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。思路: 使用将数组中的数字及出现次数放在map中,判断map中是否存在出现次数大1的数字。 bool duplicate(int numbers[], int length, int* duplication) {原创 2020-07-16 09:28:37 · 128 阅读 · 0 评论 -
根据输入的日期,计算是这一年的第几天:输入某年某月某日,判断这一天是这一年的第几天?
**题目描述:**输入某年某月某日,判断这一天是这一年的第几天?#include<iostream>using namespace std;//前几个月的天数累计(闰年)const int days[] = {0,31,60,91,121,152,182,213,244,274,305,335,366 };//每月的天数(闰年)const int MonthDay[]={0,31,29,31,30,31,30,31,31,30,31,30,31};int getoutDay(int原创 2020-07-15 20:58:19 · 676 阅读 · 0 评论 -
求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
C++实现实现思路:参考类的属性,类在创建对象时会调用构造函数,所以在类中实现一个内部类,创建对象时会调用构造函数可实现累加和class Solution {public: //内部类 class Sum { public: Sum() { sum=sum+i; i++; } }; int Sum_Solution(int n) {原创 2020-07-15 19:31:31 · 201 阅读 · 0 评论 -
c++中的虚函数及虚函数表
一、虚函数的定义有关键字virtual修饰的成员函数,为了实现多态。二、虚函数表1.虚函数表用来存放虚函数的地址,也称虚表。2.一个含有虚函数的类中至少有一个虚表。3.虚表指针:二级指针,虚函数指针的指针,存放在对象模型头部,32位系统中占4个字节,在64位系统中占8个字节。虚表指针中存放着虚表的首地址。可以通过对象实例化的地址得到虚函数表的地址。4.虚表与虚表指针的关系如下:三、...原创 2019-07-04 15:28:05 · 898 阅读 · 0 评论 -
c++多态
多态本文是在vs的32位系统运行的1.概念通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。2.虚函数虚函数:在函数前面加virtual虚函数重写/覆盖:子类中有一个与父类完全相同(函数名,返回值,参数都相同)的虚函数,则称子类的虚函数重写了父类的虚函数。3.多态的构成条件在继承关系中被调用的函数必须是虚函数,且完成了虚函数的重写。...原创 2019-07-04 10:14:26 · 79 阅读 · 0 评论 -
c++中的继承
继承1.概念:继承是面向对象的程序设计使代码复用的重要手段,在保持原有类特性的基础上进行拓展。2.继承的定义格式:class 派生类(或子类) : 继承方式(public,protected,private) 基类(或父类)class A{};//继承class B: public A{};3.继承中父类成员的访问方式父类private成员在子类中都是不可见,即父类的...原创 2019-06-27 09:38:39 · 145 阅读 · 0 评论 -
类和对象
c++是基于面向对象的,关注的是对象类的引入从语言中,结构体中只能定义变量,在c++中,结构体中不仅可以定义变量,也可以定义函数类的定义class 类名{ 由成员函数和成员变量组成};类的两种定义方式: 1. 声明和定义全部放在类体中 2.声明放在.h文件中,类的定义放在.cpp文件类的访问限定符及封装 1.访问限定符 C++实现封装的方式:用类将对象的属性与方法结...原创 2019-05-27 18:32:05 · 76 阅读 · 0 评论 -
c++入门基础
命名空间作用:对标识符的名称进行本地化,避免命名冲突或名字污染1.namespace关键字:定义命名空间一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中 namespace 命名空间名称 { 命名空间中的成员 } 1.命名空间中的内容既可以是变量,也可以定义函数 2.命名空间可以嵌套 3.同一个工程中允许存在多个相同名称的命名空间。2.命名空间的...原创 2019-05-26 16:22:21 · 116 阅读 · 0 评论