C++
丸子哥哥
动手,动手,多动手
展开
-
(图解)C++友元类,全局函数,成员函数
什么是友元? <1> 某种情况下需要访问私有权限的数据成员或者成员函数,需要用到友元。 <2>语法:在需要访问的私有权限前加friend。 友元类: 友元全局函数:友元成员函数:有什么问题欢迎留言!~~~~...原创 2018-05-10 12:32:47 · 3530 阅读 · 0 评论 -
C++运算符重载的实现
运算符重载的实现: <1> str = "123" + str; 首先会重载"+"号: 再重载"="号:有什么问题欢迎留言!~~~~原创 2018-05-08 18:44:20 · 1849 阅读 · 0 评论 -
C++引用计数
引用计数: 当多个对象同时使用一个相同对象的资源时,会发生两种情况: ①浅拷贝时,虽然节约资源,但是释放的时候会出现问题。②深拷贝时,虽然释放不会出现问题,但是浪费了资源。为了两者都兼容,出现了引用计数。#include "stdafx.h"#include "Student.h"int main(int argc, char* argv[]){ CStu...原创 2018-05-08 18:19:22 · 2159 阅读 · 0 评论 -
C++分析New和Delete----C语言Malloc和Free
C++中为什么不用Malloc和Free,而用New和Delete? <1> 如图: 类的对象在堆上分配的时候用malloc和free: 我们观察发现虽然在堆上申请空间了,但并没有调用构造函数和析构函数。 发现并没有调用我们自己写的构造和析构函数: <2> 用New和Delete观察: 我们会发现构造函数和析构函数都调用了:...原创 2018-05-07 14:02:26 · 1202 阅读 · 0 评论 -
C++构造函数和析构函数总结
构造函数: <1>作用:赋初值,初始化对象的数据成员,由编译器帮我们调用。 <2>特点:①函数名和类名一样。②没有返回值。③支持有参/无参。④可以重载。 <3>调用时机:在类的对象创建时刻,编译器帮我们调用构造函数。当我们自己提供了构造函数的话,编译器就不会给默认构造函数了。如图,自己调用构造函数: 析构函...原创 2018-05-07 12:18:25 · 6516 阅读 · 0 评论 -
C++继承,三种访问权限
什么是类: <1> 两个或多个类之间有父子关系,即把两个类相同的代码写到父类里面,然后子类可以方便用。(个人理解)继承用法:把几个类相同的代码拿出来,封装成一个父类,然后继承父类就可以。访问权限: 派生类不可以访问基类的private数据成员:根本就不可见 public继承方式,基类里面的protect权限,只有父亲和儿子可以访问,(main函数也不行): 在...原创 2018-05-13 11:12:48 · 4781 阅读 · 0 评论 -
多图--两种方法----C++改变常成员函数(Const)的值
常成员函数: <1> 成员函数后面加了const。<2> 不能修改类的成员,不能对它赋值,只是一个可读函数。提高程序的可读性,可靠性。如图,fun函数是常成员函数: 将i的值改为100,则会报错: 第一种修改方法:用mutable关键字: 看效果:第二种修改方法:用this指针: 有什么问题欢迎留言!~~~~...原创 2018-05-06 16:21:16 · 2342 阅读 · 0 评论 -
C++默认参
为什么要用默认参? <1> 函数参数太多,但每次都用,这样就很麻烦,于是C++作者编写了默认参。注意要写在.h文件中 注意:函数的默认参数,必须从右往左定义,如果其中有个参数没有定义默认参,那么该参数的左边不能再定义默认参了。有什么问题欢迎留言!~~~~...原创 2018-05-05 18:00:13 · 1367 阅读 · 1 评论 -
C++名字空间
名字空间: 名字空间如果不写名称的话称为匿名名字空间。 它提供了C语言类似在全局变量前面加上static关键字来限制作用域的功能。(即这个变量只可以在本文件中)。不怕重名。 有什么问题欢迎留言!~~~~...原创 2018-05-05 17:46:43 · 1011 阅读 · 0 评论 -
C++变体的实现代码
#include "stdafx.h"#include "Varient.h"ostream& operator<<(ostream& out, CVarient& obj){ if (obj.m_nType == TYPE_INT) { out << obj.m_Un.m_n; } else if (obj.m_nT...原创 2018-05-10 13:22:25 · 1961 阅读 · 0 评论 -
C语言学生管理系统
自己用C语言写的学生管理系统,数据存入文件。#include <stdio.h>#include <stdlib.h>#include "common.h"/*函数:Show功能:显示菜单注意:使用后记得清屏*/void Show(){ system("cls"); //清屏 printf("\t学生信息管理系统\r\n"...原创 2018-08-03 11:05:43 · 1949 阅读 · 2 评论