![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
Bk冗余
Qt开发、GL\D3D初学者
展开
-
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 · 1040 阅读 · 0 评论 -
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 · 811 阅读 · 0 评论 -
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 · 238 阅读 · 0 评论 -
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 · 496 阅读 · 0 评论 -
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 · 73 阅读 · 0 评论 -
C++函数模板
大纲函数模板的基本语法可能遇到的问题普通函数与函数模板区别于注意事项普通函数与函数模板调用规则模板的局限性函数模板的基本语法泛型的声明方式template<typename T>或template<class T>模板类型标识通用性,但是也不能说所以类型都可以用比如拿一个自定义的类去做加减法在调用这个模板函数时,有两种调用方式↓一种直接传参调用test01(2,3);另一种就是在函数名后面函数名<类型a>(类型a,类型a);比如test01&原创 2020-06-13 11:02:36 · 135 阅读 · 0 评论 -
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 · 232 阅读 · 0 评论 -
error MSB8020: 无法找到 v142 的生成工具(平台工具集 =“v142”)。若要使用 v142 生成工具进行生成,请安装 v142 生成工具。
这个问题可能是因为你项目版本是vs2019下生成的,下面是对应版本↓我的是在vs2019写的项目,用vs2017不能编译生成v142–>VS2019v141–>VS2017v140–>VS2015v120–>VS2013解决方法:在顶部菜单栏依次单击项目–>属性—>常规–>平台工具集然后选择你对应的版本...转载 2020-06-11 07:48:56 · 9568 阅读 · 0 评论 -
菱形继承问题-解决问题的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 · 553 阅读 · 0 评论 -
继承-同名成员处理
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 · 106 阅读 · 0 评论 -
类与对象-继承-继承方式
继承父类也叫基类、子类也叫派生类继承方式↓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 · 169 阅读 · 0 评论 -
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 · 122 阅读 · 0 评论 -
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 · 135 阅读 · 0 评论 -
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 · 89 阅读 · 0 评论 -
浅拷贝与深拷贝
浅拷贝与深拷贝代码中的浅拷贝↓对象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 · 94 阅读 · 0 评论 -
类与对象-拷贝构造函数调用时机
#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 · 87 阅读 · 0 评论 -
类与对象-构造函数与析构函数
#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 · 91 阅读 · 0 评论 -
类与对象-通过方法获取私有成员变量
#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 · 332 阅读 · 0 评论 -
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 · 1030 阅读 · 0 评论 -
函数的占位参数
函数的占位参数我现在只知道这样写,因为还没学到如果你们愿意的话,可以提前教教学弟 #include<iostream> using namespace std; //形参列表中有一个没有形参名的参数类型 //这样编译器也是通过的 void Math(int a,int) { cout << "方法执行" << endl; } int main() { Mat原创 2020-06-04 11:14:16 · 85 阅读 · 0 评论 -
函数参数列表中的默认参数
#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 · 182 阅读 · 0 评论 -
引用做函数返回值
引用做函数返回值 #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 · 87 阅读 · 0 评论 -
引用做函数参数
值传递: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 · 119 阅读 · 0 评论 -
引用
引用就像给一个变量取一个别名代码: int i = 10; int &s = i; cout << s << endl;输出10原创 2020-06-04 11:02:01 · 88 阅读 · 0 评论 -
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 · 258 阅读 · 0 评论 -
函数/方法的声明
void method() { //方法体 cout << "方法执行"; } int main() { method(); }输出方法执行原创 2020-06-04 10:59:12 · 111 阅读 · 0 评论