- 博客(31)
- 资源 (2)
- 收藏
- 关注
原创 C++ POSIX Linux 多线程
(●’◡’●) 呀!你来啦!!因为笔者是在Linux环境开发的,所以在Windows上不支持,于是百度到了一个可在Vusual Studio开发的????点点这里下载哦如果下载慢或被 ** 墙了,请你打开迅雷ftp://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip(这是FTP地址)你可能遇到问题(如果你遇到的问题为TRUE,方便在这里解决,免去度娘怂索):如果你遇到C2011 “timespec”:“struct
2020-07-23 17:58:22 369 1
原创 5个常用的遍历算法
for_each#pragma once#include <iostream>#include <vector>#include <algorithm>#include <functional>using namespace std;void printfs(int val){ cout << val << endl;}void test01(){ vector<int> v; v.push_
2020-07-09 18:25:19 1085
原创 OpenGL教程(1)GLFW窗口创建
包含头文件配置好环境后在main.cpp包含GL/glew.h与GLFW/glfw3.h包含时一定要注意包含顺序(先包含glew,再包含glfw)出错✋????(打脸)初始化上下文环境写一个main函数在main内写代码(????)因为glew需要一个上下文环境(就是glfw),所以先写好glfw再干glew先调用glfwInit();glfwInit函数是用来初始化的接下来写glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);glfwW
2020-07-09 09:08:28 861
原创 Qt的一些组件以及注意
Qt-菜单栏与工具栏#include "mainwindow.h"#include <QMenu>#include <QAction>#include <QDebug>#include <QStatusBar>#include <QLabel>#include <QTextEdit>#include <QDockWidget>MainWindow::MainWindow(QWidget *parent)
2020-06-22 18:24:50 267
原创 Qt带参数的信号
Qt带参数信号信号也可以重载但是connect是会发生二义性,编译器不知道要处理哪个信号,因为我发出的信号是有参和一个无参的signal:void mySignals();void mySignals(int,QString);emit:emit mySignals(120,"我是小窗口");emit mySignals();connect://处理无参信号connect(&t,TowWindow::mySignals,this,&MainWindow::gotom
2020-06-21 10:29:33 539
原创 c++ vector容器
vector是基于c++泛型模板一个容器类创建对象 -> vector<数据类型> v;往里面添加数据 -> v.push_back(数据类型);取值for(vector<int>::iterator it = v.begin();it != v.end();it++) { cout << (*it) << endl; }...
2020-06-19 11:38:15 86
原创 C++函数模板
大纲函数模板的基本语法可能遇到的问题普通函数与函数模板区别于注意事项普通函数与函数模板调用规则模板的局限性函数模板的基本语法泛型的声明方式template<typename T>或template<class T>模板类型标识通用性,但是也不能说所以类型都可以用比如拿一个自定义的类去做加减法在调用这个模板函数时,有两种调用方式↓一种直接传参调用test01(2,3);另一种就是在函数名后面函数名<类型a>(类型a,类型a);比如test01&
2020-06-13 11:02:36 150
原创 c++二进制读写文件
c++二进制读写文件首先要包含头文件fstream或istream、ostream下面是全部代码演示#include<iostream>#include<string>/*首先要包含这个头文件*/#include<fstream>using namespace std;class Person{public: char m_Name[64];//姓名 int Age;//年龄};void test01(void){ ofstream
2020-06-11 11:43:15 255
转载 error MSB8020: 无法找到 v142 的生成工具(平台工具集 =“v142”)。若要使用 v142 生成工具进行生成,请安装 v142 生成工具。
这个问题可能是因为你项目版本是vs2019下生成的,下面是对应版本↓我的是在vs2019写的项目,用vs2017不能编译生成v142–>VS2019v141–>VS2017v140–>VS2015v120–>VS2013解决方法:在顶部菜单栏依次单击项目–>属性—>常规–>平台工具集然后选择你对应的版本...
2020-06-11 07:48:56 9716
原创 菱形继承问题-解决问题的virtual原理
菱形继承问题A类有public了个int Age;B类与C类都继承了A类Son类分别继承了B类与C类这是问题就出现了↓声明一个函数,函数体是赋值父类B的Age,但是编译器报错(不明确)意思就是编译器不知道你要给父类B.Age赋值还是给C.Age赋值?这时你要用到一个virtual(虚继承)关键字,而父类叫做虚基类下面是代码演示↓class PaiShengLei_A:virtual public JiLei{};class PaiShengLei_B:virtual public
2020-06-09 17:02:44 631
原创 继承-同名成员处理
class Base{public: void func() { cout << "父类 func 执行" << endl; } void func(int i) { cout << "父类有参 func 执行" << endl; }};class derived :public Base{public: void func() { cout << "子类 func 执行" << endl; .
2020-06-09 10:44:09 121
原创 继承中的构造与析构函数
继承中的构造与析构函数创建一个子类对象时,先执行的是父类构造还是子类构造?函数结束时,先执行的是父类析构还是子类析构?创建子类对象时,先加载父类并调用父类构造函数结束时,因为子类是后创建的,根据栈结构的后进先出,子类的析构先调用父类比子类先创建,子类析构执行后就轮到父类析构下面代码演示#include<iostream>#include<string>using namespace std;class Base{public: Base() {
2020-06-09 10:17:26 256
原创 类与对象-继承-继承方式
继承父类也叫基类、子类也叫派生类继承方式↓class 子类名称(当前类):访问权限 父类名称(要想使用类成员的类)例子->父类 class Fulei{public : int m_A;}例子->子类 class ZiLei : public Fulei{void test01(){m_A = 100;}};下面代码是演示例子↓#include<iostream>#include<string>using namespace std;class
2020-06-09 09:13:51 186
原创 类与对象-C++运算符重载
#include<iostream>#include<string>using namespace std;Person operator<<(Person& p,Person& p1){ Person temp; //表示在test01()函数中->p.a + p1.a temp.a = p.a + p1.a; //表示在test01()函数中->p.b + p1.b temp.b = p.b + p1.b; retur
2020-06-06 10:13:50 117
原创 6月4日练习
6月4日练习类作为类成员#include<iostream>#include<string>using namespace std;class A{public : int Age;};class B{public: string Name; A Age; B(string name , int age):Name(name) { Age.Age = age; }};void test01(){ B name_age("w",16);
2020-06-05 06:29:03 132
原创 C++ 类对象作为类成员这个问题有没有懂得,感谢
类对象作为类成员这个还是不懂打印的顺序是先打印类成员的构造,而析构是先打印Person↑所以说创建Person对象是到底是先创建类成员然后再创建Person成员还是压栈?#include<iostream>#include<string>using namespace std;class Phone{public : Phone(string setPhone):phone(setPhone){cout << "Phone构造执行" <<
2020-06-05 06:26:35 146
原创 C/C++ 类与对象-对象特性-初始化列表
以前吃一车现在吃0.01粒//吃一把Person(int i ){ Age = i;}//吃一粒Person(int i )Age(i){}#include<iostream>#include<string>using namespace std;class Person {public: Person(int i):Age(i) {}private: int Age;};int main(){ Person p(123); retur
2020-06-04 11:39:34 101
原创 浅拷贝与深拷贝
浅拷贝与深拷贝代码中的浅拷贝↓对象p2调用析构函数时delete了int指针m_Height地址0x00001但是p1调用析构函数时,0x00001已经被释放了所以在此处会发生异常在堆区这两个对象用的一个地址0x00001代码中的深拷贝↓很简单,new一个新的副本出来new int(拷贝);在堆区这两个对象分别用的0x00002,0x00003这两个对象没有任何关系#include<iostream>#include<string>using namespac
2020-06-04 11:36:21 105
原创 类与对象-拷贝构造函数调用时机
#include<iostream>#include<string>using namespace std;class Person{public : int Age; Person() { Age = 20; cout << "无参构造实例了Age" << endl; } /** * 这里的拷贝构造注释掉 **/ //Person(const Person& p) //{ // Age = p.Age; /
2020-06-04 11:25:38 94
原创 类与对象-构造函数与析构函数
#include<iostream>#include<string>using namespace std;class cla{public: cla() { cout << "无参构造" << endl; } cla(string s) { cout << "有参构造string" << endl; } cla(int i) { cout << "有参构造int" <<
2020-06-04 11:24:53 107
原创 类与对象-通过方法获取私有成员变量
#include<iostream>#include<string>using namespace std;struct str{ int i;//struct的默认权限 public};class cla{ int i;//class的默认权限 private};int main(){ str s_i ; cla c_i ; s_i.i = 1000; //c_i.i = 1000;//不可以访问,因为class的默认访问权限是私有的}
2020-06-04 11:24:10 354
原创 C/C++ 类与对象-struct与class的区别
struct与class的区别struct的成员访问权限默认为publicclass的成员访问权限默认为private要想访问需要加↓public:#include<iostream>#include<string>using namespace std;struct str{ int i;//struct的默认权限 public};class cla{ int i;//class的默认权限 private};int main(){ str s
2020-06-04 11:21:59 139
原创 C/C++类与对象-三种访问权限
三种访问权限↓public 类内、类外,可以访问(公开的)protected 类内可以访问,但类外不可以访问,它的子类可以访问privte 类内可以访问,但类外不可以访问,它的子类也不能访问#include<iostream>#include<string>using namespace std;class Stutent{public : string m_Name; int m_Id; void setName(string name) { int
2020-06-04 11:19:21 1064
原创 C/C++类与对象 定义一个学生类
类与对象-定义一个学生类需要string类型一定要注意导入string#include<iostream>#include<string>using namespace std;class Stutent{public : string m_Name; int m_Id; void setName(string name) { m_Name = name; } void setId(int id) { m_Id = id; } void
2020-06-04 11:16:07 3312
原创 函数的占位参数
函数的占位参数我现在只知道这样写,因为还没学到如果你们愿意的话,可以提前教教学弟 #include<iostream> using namespace std; //形参列表中有一个没有形参名的参数类型 //这样编译器也是通过的 void Math(int a,int) { cout << "方法执行" << endl; } int main() { Mat
2020-06-04 11:14:16 89
原创 函数参数列表中的默认参数
#include<iostream>using namespace std;//参数中:int a = 10,int a , int c 是不可的//定义默认参数的下一个参数不可非默认参数int Math(int a,int b = 20,int c = 30){ return a + b + c;}int main(){ cout << Math(1) << endl;}...
2020-06-04 11:08:46 192
原创 引用做函数返回值
引用做函数返回值 #include<iostream> using namespace std; int& Zhi_Chuan_Di() { int i = 10; return i; } int main() { int& i = Zhi_Chuan_Di(); cout << i<< endl; //cou
2020-06-04 11:05:34 100
原创 引用做函数参数
值传递:int Zhi_Chuan_Di(int i , int j ){int temp = i;i = j;j = temp;}int main(){int i = 10;int j = 20;cout << Zhi_Chuan_Di(i,j) << endl;//打印结果:1020}这样写就叫做值传递,只传递值,但不传递地址然而,用引用可以代替指针:int Zhi_Chuan_Di(int &i , int &j ){
2020-06-04 11:03:10 128
原创 new与delete关键字
new与delete关键字创建一个基本类型一般都是int i = 10;意思就是在堆区创建一个整数类型也可以使用这个关键字int* i = new int(10);和上一个一样,是在堆区创建一个整数类型,并让int指针记录记录下来这个int类型的地址(注意:这里用的是指针存储)这里是代码int* i = new int(10);cout << “这个int值为:” << *i << endl;return 0;但是,这样的方式会占用堆内存,以下是解决这个
2020-06-04 11:00:31 294
原创 函数/方法的声明
void method() { //方法体 cout << "方法执行"; } int main() { method(); }输出方法执行
2020-06-04 10:59:12 126
Scanner类next()方法例子最清晰小白参考
2020-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人