自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (5)
  • 收藏
  • 关注

原创 java的DOS窗口简单运行,仅供自己参考

1创建一个test.java文件,然后用记事本打开,输入public class test {public static void main(String[] args) {System.out.println(“13412”);}}Ctrl+S保存以上文件创建在D盘根目录下2win+R 打开命令窗口D: 跳转到D盘javac test.java 编译文件 javac 文件名.javajava test.java 执行 java 类名.java...

2022-03-06 22:28:51 264

原创 2021-07-21仅供自己参考:1251,Navicat MySQL

本来之前可以成功连接,后来不知道什么操作让服务里有了两个MySQL,在连接这个sql文件前,只有MySQL80存在,而后面的MySQL还没有,所以要再连接回那个文件,就要把MySQL停止,然后启动MySQL80即可。之前以为是密码不对,按照网上那些免密码登录的解决方法都不行,都是修改配置文件my.ini,打开那个文件在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证。但是我的行不通,也不知道为什么。回来自己就按照上面的方法解决了。...

2021-07-21 15:13:39 104

原创 2021-02-07仅供自己参考:函数模板的基本语法

函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。语法:template<typename T>函数的定义或者声明temlate:声明创建模板typename:表明其后面的符号是一种数据类型,可以用class代替T:通用的数据类型,名称可替换,通常是大写字母```cpp#include<iostream>#include<string>using namespace std;//用函数模板提供通

2021-02-07 17:46:08 64

原创 2021-02-07仅供自己参考:二进制文件---读文件

二进制方式读文件主要利用流对象调用成员函数read函数原型:istream &read (char *buffer,int len);函数解释:buffer是一个字符串指针,指向内存中的一段存储空间,len是读写的字节数。

2021-02-07 14:31:33 70

原创 2021-02-07仅供自己参考:二进制文件---写文件

用二进制方式操作文件,需要指定方式 ios::binary二进制方式写文件主要利用流对象调用成员函数write函数原型:ostream & write (const char * buffer,int len)参数:buffer是字符指针,指向内存中一段储存空间,len是读写的字节数...

2021-02-07 11:48:14 81

原创 2021-02-07仅供自己参考:文件操作---读文件

读文件步骤:包含头文件#include<fstream>创建流对象ifstream ifs;打开文件并判断文件是否打开成功ifs.open ("文件打开路径”,打开方式)读数据四种方式读取关闭文件ifs.close();#include<iostream>#include<string>#include<fstream>//包含头文件using namespace std;void t1(){ //创建流对

2021-02-07 10:45:50 73

原创 2021-02-05仅供自己参考:文件操作---写文件

文件可以使程序执行的数据持久化C++中对文件进行操作需要包含头文件<fstream>文件分类:文本文件:文件以文本的ASCII码形式存储在计算机中二进制文件:文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂操作文件的分类:ofstream :写操作ifstream :读操作fstream :读写操作写文件步骤:包含头文件 #include<fstream>创建流对象ofstream ofs;打开文件ofs.open(“文件打

2021-02-05 17:42:06 107

原创 2021-02-05仅供自己参考:多态使用

#include<iostream>#include<string>using namespace std;class A{public: virtual void f1() = 0;};class B{public: virtual void f2() = 0;};class C{public: virtual void f3() = 0;};class D{public: D(A *a, B *b, C *c) { this-&

2021-02-05 15:59:14 92

原创 2021-02-05仅供自己参考:多态---虚析构和纯虚析构

多态使用时,如果子类中有属性开辟到堆区,那么父类指针在释放时无法调用到子类的析构代码.解决方法:将父类中的析构函数改为虚析构或者纯虚析构如果子类中没有堆区数据,可以不写为虚析构或纯虚析构虚析构和纯虚析构共同点:可以解决父类指针释放子类对象都需要有具体的函数实现虚析构和纯虚析构区别:如果是纯虚析构,该类属于抽象类,无法实例化对象虚析构语法:virtual ~类名(){}纯虚析构语法:类内声明:virtual ~类名()=0;类外实现:类名::~类名(){}#include

2021-02-05 14:52:27 62

原创 2021-02-05仅供自己参考:多态---纯虚函数与抽象类

在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容因此可以将虚函数改为纯虚函数。纯虚函数语法:virtual 返回值类型 函数名(参数列表)类中有纯虚函数时,这个类称为抽象类抽象类特点:无法实例化对象子类必须重写抽象类中的纯虚函数,否则也属于抽象类#include<iostream>#include<string>using namespace std;class A{public: virtual void f() = 0;/

2021-02-05 11:02:35 68

原创 2021-02-04仅供自己参考:多态的基本语法及原理剖析

多态分为两类·静态多态:函数重载和运算符重载属于静态多社复用函数名·动态多态:派生类和虚函数实现运行时多态静态多态和动态多态区别:·静态多态的函数地址早绑定·编译阶段确定函数地址·动态多态的函故地址晚绑定·运行阶段确定函教地址下面通过案例进行讲解多态地址早绑定:#include<iostream>#include<string>using namespace std;class A{public: void f() { cout << "

2021-02-05 09:55:22 61

原创 2021-02-04仅供自己参考:继承

继承基本语法继承好处:减少重复代码class 子类 : 继承方式 父类子类也称派生类父类也称基类派生类的成员包括了自己本身的成员(特有属性),还包括了从基类继承的成员(共有属性)。#include<iostream>#include<string>using namespace std;class A{public: void f1() { cout << "f1" << endl; } void f2() {

2021-02-04 16:52:34 52

原创 2021-02-02仅供自己参考:友元

在程序里,有些私有属性也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术友元的目的就是让一个函数或者类访问另一个类中私有成员友元的关键字为friend友元的三种实现全局函数做友元类做友元成员函数做友元全局函数做友元方法:在类内的开头加上 : friend 函数类型 函数名(参数);#include<iostream>#include<string>using namespace std;class B{ friend void t1

2021-02-02 18:17:05 59

原创 2021-02-02仅供自己参考:const修饰成员函数

常函数:成员函数后加const后我们称为这个函数为常函数常函数内不可以修改成员属性成员属性声明时加关键字mutable后,在常函数中依然可以修改常对象:声明对象前加const称该对象为常对象常对象只能调用常函数#include<iostream>#include<string>using namespace std;class A{public: //加了const:constt A *const this //在成员函数后面加const,修饰的

2021-02-02 16:25:48 85

原创 2021-02-02仅供自己参考:空指针访问成员函数

用到this指针要先判断,这样才能增加代码的健壮性#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string>using namespace std;class A{public: void f() { cout << "f" << endl; } void f1() { if(this==NULL)//防止传入空指针时报错 { return;

2021-02-02 12:00:26 48

原创 2021-02-02仅供自己参考:this指针

this指针指向被调用的成员函数所属的对象。this指针是隐含每一个非静态成员函数内的一种指针。this指针不需要定义,直接使用即可。this指针的用途:·当形参和成员变量同名时。可用this指针来区分·在类的非静态成员函数中返回对象本身,可使用return *thisclass A{public: A(int a) { this->a = a;//等号后面的a是指形参中的a } int a; };返回对象本身#define _CRT_SECURE_NO_WARN

2021-02-02 11:30:29 45

原创 2021-02-02仅供自己参考:成员变量和成员函数的存储

C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象上一个空类的空对象大小为1。class A{}};void t1(){ A p; //为了区分每个空对象占内存的位置,编译器会给每个空对象分配一个内存 cout << "sizeof(p)=" << sizeof(p) << endl;}如果类内有一个int型的非静态成员变量,则对象大小为4;有两个int型的非静态成员变量则为8,以此类推。(注意是非静态成员变量)非静态

2021-02-02 10:34:02 44

原创 2021-02-02仅供自己参考:静态成员、静态成员函数

在成员变量和成员函数前加上关健字static,称为静态成员静态成员变量:所有对象共享同一份数据。在编译阶段分配内存。类内声明,类外初始化。静态成员函数:所有对象共享同一个函数。静态成员函数只能访问静态成员变量。访问静态成员函数:通过对象访问通过类名访问#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include<string>using namespace std;class A{p

2021-02-02 09:52:29 62 2

原创 2021-02-01仅供自己参考:类对象作为类成员(构造函数赋值)

类对象作为类成员class A{};class B{A a;}A先构造,B再构造B先析构,A再析构对于赋值:#include<iostream>#include<string>using namespace std;class A{public: A(int aa,string xx) { a = aa; x = xx; cout << "A构造" << endl; } ~A() { cout &lt

2021-02-01 17:43:21 79

原创 2020-08-13仅供自己参考:C语言结构体通过指针调用函数

C语言结构体通过函数指针调用函数(C语言结构体不能直接放函数,C++可以)#include<stdio.h>#include<stdlib.h>int j(int a)//平方{ int c; c = a * a; return c;}int s(int b)//三次方{ int d; d =b*b*b; return d;}struct Str{ int(*p)(int b);//p为函数指针,若调用的函数没有参数则为(*p)();};v

2020-08-13 16:15:01 129

原创 2020-08-11仅供自己参考: 自建函数

打卡自建函数2.3.

2020-08-11 17:18:02 57

原创 2020-08-11仅供自己参考:输入自定义大小的数组

输入自定义大小的数组#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include"x.h"void x(int ** a, int n)//申请内存{ *a = malloc(sizeof(int)*n); if (*a == NULL) { printf("申请失败\n"); return; } }void s(int *a, int n)//给数组赋值{

2020-08-11 17:04:06 130

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除