- 博客(18)
- 收藏
- 关注
原创 fourteenth 联编、多态
原文链接(点击原文链接获取更多学习干货):fourteenth 联编、多态 – 布尔博客http://blog.bools.cn/archives/17001.联编联编分为静态联编和动态联编, 静态联编就是说早绑定地址,属于静态晚绑定地址属于动态1.静态class animal{public: void speak() { cout << "小动物在说话" << endl; }};class cat :public animal{pub
2021-10-17 18:17:02 139
原创 thirteenth 重载的总结和继承的基础
原文链接(点击原文链接获取更多学习干货):运算符重载的总结和继承的基础 – 布尔博客http://blog.bools.cn/archives/16791.关系运算符重载运算符重载的秘诀,在于将自定义的数据类型用运算符进行重载,一般是operator运算符这样子,然后在函数当中决定如何重载,在决定数据类型,最后在输出。而关系运算符重载是指相等运算符的重载bool operator==(person& p1, person& p2){ if (p1.m_age ==
2021-10-10 17:54:01 126
原创 Twelve 类运算符重载
1.加号运算符重载如果想要自定义类型进行加减操作,需要编写函数来进行重载。在成员函数或全局函数中写函数函数名operator+(){}1.成员函数的加号重载class person{public: person() {}; person(int a, int b) :m_A(a), m_B(b) {}; 加号运算符重载,成员函数 person operator+(person& p) { person temp; temp.m_A = this->m
2021-10-03 23:24:59 130
原创 Evelenth 静态和友元
1.静态成员变量 静态成员变量就是加入static,会共享数据,在类内声明,类外初始化。class person{public: static int m_age; string name;};int person::m_age = 0;//类内声明,类外初始化void test01(){ person p1; p1.m_age = 20; p1.name = "崭露头角的斌"; cout << p1.name << "的年龄是:" &...
2021-09-25 21:56:24 156
原创 Tenth 构造函数和析构函数
构造函数和析构函数就是用来对对象初始化和清理工作的,就算不提供构造和析构函数,编译器也会自动提供,因为对象的清理和构造和一个安全问题。构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无须手动调用。 析构函数:主要作用在于对象销毁前系统自动调用,执行一些清理工作。1.构造函数的语法 构造函数一般写在类里面,和类名相同,没有返回值,不用写void,可以发生重载构造函数由编译器自动调用,而不是手动,而且只会调用一次。...
2021-09-19 21:33:39 97
原创 自主学习用C语言写俄罗斯方块笔记
原文链接(点击原文链接获取更多学习干货):参考博客:(23条消息) 俄罗斯方块(C语言实现)_2021dragon的博客-CSDN博客_俄罗斯方块https://blog.csdn.net/chenlong_cxy/article/details/1196806711.新的结构体和函数自己从参考的博客学习俄罗斯方块代码,在学习过程中,遇到了新的函数和结构体,那就是光标信息结构体和光标位置结构体。还有光标信息函数、光标位置函数和颜色函数。光标信息结构体:光标位置结构体:..
2021-09-11 23:21:00 346
原创 Ninth 类、默认参数、函数重载
1.类1.类的权限类是由class来命名,可以装下一些属性(可以理解为变量)和一些行为(可以理解为一些函数),那么类和结构体是很相似的,而他们的一个大不同就在访问权限那里。类当中,本来的权限是private,就是私人的意思,意思是定义的属性和i行为只能在类当中使用。class circle{ int m_r; double countZC() { return 2 * pi * m_r; }};void printf_ZC(){ circle c1; c1.m_r
2021-09-05 15:24:37 106
原创 Eighth C++基础之C++与C语言的区别及细节
C语言与C++在之前学习当中,我们知道C语言是面向过程的,而C++是面向对象的。C++面向对象的三大特性,封装、继承、多态。1.C++的输出打印和头文件的不同在C++当中,一般用#include<iostream>进行输入输出的头文件,而使用其他头文件时,比如<time.h>,在C++中一般写成<ctime>,就是在头文件关键词前面加c示范:#include<iostream>#define _CRT_SECURE_NO_WARNI
2021-08-28 22:11:56 122
原创 Seventh 文件函数的使用
1.获取文件状态函数#include<sys/type.h>#include<sys/stat.h>int stat(const char* path,struct stat* buf);功能:获取问价状态参数: path:文件名 buf:保存文件信息的结构体返回值: 成功:0 失败:-1此函数一般是获取文件大小等信息,而结构体stat的成员有例子:int main(){ struct stat st; sta.
2021-08-22 12:53:04 98
原创 Sixth 运用文件的函数
前情回顾一开始定义结构体指针或者其他指针时,不一定只是定义,可以先置空再赋值或开辟空间,可以避免用strcpy函数时的某些不必要错误;而释放之前也可以先判断要释放的指针是否为空,再释放空间然后置空,避免操控野指针。typedef struct student{ char* name; int age; char* class;}ss;int main(){ ss* p = NULL; p = (ss*)malloc(sizeof(ss)); p->name = (char
2021-08-14 22:40:50 92
原创 目前学习问题总结
多文件编辑多文件编辑,可以走多种样式,不过,在最近的学习中,比较适合自己的方式(1):在头文件当中定义整个项目所需要的数据,包括常用数据和结构体,还有写出即声明所有需要调用的高数,然后在写主函数,调用全部的函数还有头文件(2):在头文件当中写出即声明整个项目所需要的全部调用函数和需要的全部数据,然后在同一文件中定义调用函数和主函数。两种模式,比较适合现在的我的写代码模式,主要是多文件编辑,还有调用头文件的方式...
2021-08-10 10:14:26 74
原创 Fifth 补充堆空间的阐述,结构体的运用和复合体的简单描述
补充:二级指针对应的堆空间的开辟上一篇文章写到一级指针对应的堆空间的开辟,使用与释放,这篇文章我先来将二级指针对应的堆空间来说一说。二级指针对应的堆空间,其实,如果了解了堆空间开辟和使用的原理之后,二级指针对应的堆空间就不难了。先将一级指针对应的堆空间写出来和二级指针对应的堆空间做比较。 //先开辟5个二级指针对应的堆空间,每一个二级指针对应的堆空间里面包含了3个一级指针对应的堆空间, //这就像二维数组p[5][3]一样。 int** p = (int**)malloc(siz..
2021-08-08 18:35:54 97
原创 Fourth C语言之分辨变量与函数,搞清内存
1.变量变量分为局部变量,全局变量,静态局部变量,静态全局变量(1)局部变量局部变量也叫auto自动变量,一般情况下在{}内部定义的变量叫自动变量,它只对定义的函数范围内有效,而如果在在语句中,那么只在语句中有效,随着函数或者语句的结束那么它的运用也结束了,我们定义的时候不需要强调auto,就直接定义就行,而main函数中的变量其实也算局部变量。int main(){ int a;定义的a在main函数中有效,main函数结束就失效 for(int i=0;i<n;
2021-08-01 23:55:14 409
原创 C语言中新手用VS写代码时遇到的strcpy()和strncpy()问题
来,我们直接看代码#include<stdio.h>#include<string.h>int main(){ char ch[] = "hello world"; char str1[100] = { 0 }; char str2[100] = { 0 }; strcpy(str1, ch); strncpy(str2, ch, 2); printf("%s\n", str1); printf("%s\n", str2); return 0;}
2021-07-27 22:20:01 1181
原创 2021-7-24 Third 指针在字符串的应用
1.指针深层解析数组我们经常使用指针来进行运算,而将指针运用到调用函数当中,我们需要注意的是:想要运用指针来通过地址传递改变指针的值,必须越级,如果传递指针的值或者地址,调用时还是指针或者地址的话,那么还是属于值传递,越级就是说,传递的级别和调用的级别不一样,比如实参传递地址,形参用地址指向的值这样不同级别的才能实现地址传递来改变实参的值如:void swap1(int a, int b){ int temp; temp = a; a = b; b = temp;}void
2021-07-24 21:51:29 114
原创 Second 指针与数组
1.数组名和指针 在我们平常的使用中,我们经常使用到数组,而在定义非主函数时,我们可以运用数组来进行函数的定义。 我们平常定义的数组名,其实存的是地址,所以数组名可以直接赋值给定义的指针变量。注意:变量类型要对应。如:int a[]={1,2,3};int* p=a;//将数组a的地址赋值给指针变量p,但注意,并不是a数组的全部地址a的地址赋值给p之后,那么,p就可以像a那样使用。printf("%d/n",a[i]);printf("%d\n",p[i])...
2021-07-17 23:03:50 276
原创 #c语言#随机数#函数以及指针部分基础
在C语言当中必须掌握的知识,随机数,函数以及指针的定义和应用1.随机数随机数的产生在C语言中,一般使用头文件<stdlib.h>中的rand()函数来产生随机数,它的代码一般是:#include<stdio.h>#include<stdlib.h>int main(){ int a = rand(); printf("%d\n", a); return 0;}运行结果举例:43.多次运行发现产生的随机数相等,其实我们可以把一次...
2021-07-10 23:34:52 435 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人