C++
oldwang1999
陕西科技大学第一诸葛亮
展开
-
C++:初识类与对象
在C++中,结构体不仅可以定义变量时也可以定义函数。一.类的引入struct student{ int _age; char _name[20]; char _gender[3]; void init(int age, char* name, char* gender) { _age = age; strcpy(_name, name); strcpy(_gend...原创 2018-10-26 16:05:59 · 241 阅读 · 0 评论 -
C++的类型转化
C++中为了加强类型转化的可视性,引入了四种命名的强制类型转化操作符。为什么C++需要四个类型转化?1.C风格转化没有统一的关键字和标识符,出现错误不容易排查,而C++有统一标识符美丽与排查和检视;2.C++对类型转换进行了细分,满足不同需求的不同转换标识符;1.static_caststatic_cast用于非多态类型的转化,编译器隐式执行的任何类型转换都可用stati...原创 2019-07-22 14:54:37 · 99 阅读 · 0 评论 -
星际密码 牛客网
链接:https://www.nowcoder.com/questionTerminal/34f17d5f2a8240bea661a23ec095a062?toCommentId=47888来源:牛客网星际战争开展了100年之后,NowCoder终于破译了外星人的密码!他们的密码是一串整数,通过一张表里的信息映射成最终4位密码。表的规则是:n对应的值是矩阵X的n次方的左上角,如果这个数不...原创 2019-06-30 22:00:46 · 522 阅读 · 2 评论 -
C++:多态
1.多态的概念多态的概念:通俗的说,就是多种形态,去完成某一个行为,不同的对象就会产生不同的行为。2.多态的定义和实现2.1定义的构成条件多态是不同继承关系的类对象,调用同一个函数,产生不同的行为。2.2构成多态还需要两个条件:1.基类中必须要有虚函数,派生类要对虚函数进行重写2.必须通过基类的指针或者引用来调用虚函数2.3重写的定义1.基类的函数必须是虚函数...原创 2019-03-20 09:04:27 · 158 阅读 · 0 评论 -
C++:继承
1.概念继承机制是面向对象程序设计时,提高代码复用率最重要的手段,有了它,程序员在保证原有特点的情况下,对该类进行拓展,增加功能,形成新的类。继承呈现了面向对象程序设计时的层次结构。class base{public: int _pub;private: int _pri;protected: int _pro;};class derived:public base ...原创 2019-02-16 00:16:54 · 352 阅读 · 0 评论 -
C++:模板总结
前提:我们要实现一个通用的交换函数swap,就是让它适用于任何一个类型。比如:int,char,double......,但是我们要写很多交换的函数,对swap函数进行重载。那我们如何解决这个问题?可不可以给编译器一个模子,让编译器来给我们实现不同类型的转化?函数模板1.概念:函数模板代表了一个函数家族,在使用时被参数化,根据实参类型产生特定的函数。2.函数模板格式templat...原创 2018-12-03 14:20:04 · 205 阅读 · 0 评论 -
string类的模拟实现
class String{public: typedef char* Iterator;public: String() { } String(const char* str) { if (str == nullptr) { assert(str); return; } _str = new char[strlen(str) + 1]; _s...原创 2018-11-26 16:47:19 · 145 阅读 · 0 评论 -
C/C++:内存管理
一.C/C++中程序内存区域划分在C/C++中,程序内存区域可以分成四个部分:1.栈:用来保存非静态的局部变量/函数参数/返回值等等,栈试想下增长的 2.堆:用于程序运行时的动态内存分配,堆是可以向上增长的3.数据段:存储全局数据和静态数据4.代码段:保存可执行的代码和只读的常量二.C语言动态内存的管理方式C语言我们使用的开辟内存空间的函数有三个:1.mall...原创 2018-11-10 21:45:43 · 187 阅读 · 0 评论 -
C++:类与对象(最终)
前两篇关于类与对象的博客,都是类与对象中不可或缺的对象,这篇就是在前两篇的基础上,再对类与对象进行补充。一.简识深浅拷贝当我们进行拷贝造作函数,或者赋值运算符重载的时候,我们不给出这两个函数,编译器就会默认自动生成,默认对类进行位拷贝(按照基本类型进行值的拷贝)。那么编译器给的到底有没有问题呢?看代码:class Slist{public: Slist() { }...原创 2018-11-01 18:25:55 · 1460 阅读 · 0 评论 -
C++:类与对象二
类中的默认成员函数类中默认成员函数一共有六个:(1)构造函数(2)拷贝构造函数(3)析构函数(4)赋值操作符重载(5)取地址操作符重载(6)const修饰的取地址操作符修改。一.构造函数构造函数就是随着对象被创建而自动调用的公有成员函数,有且仅在对象被定义时,自动调用一次,主要用于对对对象的初始化,它的特征:1. 函数名与类名相同。2. 无返回值。3. 对象构造(对象实...原创 2018-10-31 16:34:35 · 207 阅读 · 0 评论 -
C++:命名空间、缺省参数、函数重载、引用、内联函数
一.命名空间 在C/C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称都将作用于全局作用域中,可能会导致很多冲突,所以我们就选择使用命名空间。 命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或者名字污染。 1.定义: 定义一个命名空间,需要用到namespace关键字,后跟命名空间。namespace ...原创 2018-10-24 10:48:05 · 166 阅读 · 0 评论 -
C++:智能指针
1.为什么需要只能指针?写代码时,离不开申请空间,而申请的空间都赋予了指针,指针自己申请的空间,需要用户对其进行管理。2.智能指针的使用和原理我们可以利用对象的生命周期来控制程序的资源。在对象构造时获取资源,控制这对资源的访问,在对象生命周期内始终保持有效,最后在对象析构的时候,释放资源。所以我们可以把管理一份资源交给一个对象。两点好处:1.不需要自己显示的释放资源;2...原创 2019-07-31 22:53:46 · 63 阅读 · 0 评论