![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 63
PUdd
不学无术不发愁
展开
-
学完排序算法,终于知道用什么方法给监考完收上来的试卷排序……
由于每个老师批改完卷子之后装袋不一定是有序的,鼠鼠我被拉去当给试卷排序的苦力。面对堆积成山的试卷袋,每一份试卷袋的试卷集又很重,鼠鼠我啊为了尽早下班,决定用一种良好的办法进行排序。原创 2024-03-18 22:36:23 · 874 阅读 · 0 评论 -
vector的一些实用操作
创建、复制、访问、删除、赋值等操作的使用原创 2022-07-26 10:52:03 · 239 阅读 · 0 评论 -
C++面经-面试概念题121题
文章目录1. 如何理解封装、继承和多态?(它们分别解决了什么问题/主要作用是什么)2. C++内存四区存在的意义是什么(代码区、全局区、堆区和栈区)3. static 和const分别怎么用,类里面static和const能否同时修饰成员函数。4. 组合类的初始化顺序是怎样的?5. 函数指针的定义方式是怎样的?有什么含义?函数指针有什么用途?6. 静态变量和动态变量初始化有什么不同点?7. 比较值传递和引用传递的相同的和不同点。8. 什么叫作用域?作用域有几种类型?9. 在函数内部定义的普通局部变量和静态局原创 2022-04-04 11:49:38 · 1616 阅读 · 0 评论 -
C++脚本模拟重复点击(以摩尔庄园页游换慈善奖杯为例)
利用Windows.h的api重复执行鼠标点击的模拟操作原创 2022-03-06 21:40:45 · 1295 阅读 · 7 评论 -
疑难解答-C++
1.对于for循环,里面有continue结束此次循环,是会继续i++,进行下一次循环的,而在continue后写任何代码都不会执行的,只要是for循环,每次循环结束都会自动i++进行下一次循环,直到满足结束循环的条件为止。如果循环体内有break,则会直接跳出循环。2.逐语句就是当执行到某个函数的时候,调试窗口会进入这个函数,然后程序断点会跳转到这个函数里的第一个语句。而逐过程则是当执行到某个函数的时候,就不会进入这个函数,而是直接执行完这个函数,程序断点会跳到这个函数的之后的下一个语句。3.getc转载 2022-03-04 16:28:04 · 442 阅读 · 0 评论 -
C++难点十三:模板(意义:类型参数化)
模板函数模板语法声明两种调用方法示例注意事项类模板函数模板语法声明template<typename T>//也可以template<class T>两种调用方法1、自动类型推导(隐式)2、手动指定类型(显式)示例#include <iostream>using namespace std;template<typename T>//也可以template<class T>void Myswap(T &a,T &a原创 2022-03-02 17:59:37 · 1014 阅读 · 0 评论 -
C++难点十二:读写文件
文本文件写操作包含头文件#include <fstream>创建流对象ofstream ofs;打开文件ofs.open("文件路径",打开方式);写数据ofs<<"写入的数据";关闭文件ofs.close();其中,写操作第三步的常见打开方式如下:打开方式解释ios::in为读文件而打开文件ios::out为写文件而打开文件ios::ate初始位置:文件尾ios::app追加方式写文件ios::tru原创 2022-03-01 17:25:11 · 1520 阅读 · 0 评论 -
C++难点十一:多态
静态多态:函数重载、运算符重载函数地址早绑定(在编译阶段就确定了地址),如:#include <iostream>#include<string.h>using namespace std;class Animal{public: void Speak() { cout<<"动物在说话"<<endl; }};class Cat:public Animal{public: void Speak(原创 2022-02-27 18:47:44 · 392 阅读 · 1 评论 -
C++难点十:继承
继承的语法class 子类 : 继承方式(public/private/protected) 父类{};继承方式private,public,protected的访问范围:private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问.protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问public: 可被任意访问特殊情况:使用private继承时的一种特殊机制(准许访问)某些情况下,需要在子类中以privat原创 2022-02-16 23:45:53 · 323 阅读 · 0 评论 -
C++难点九:运算符重载
加号运算符重载成员函数#include <iostream>#include<string.h>using namespace std;//重载加号之成员函数的重载class Point{public: int x; int y; Point():x(1),y(1) { } Point operator+(Point &p) { Point temp; t原创 2022-02-15 16:43:34 · 458 阅读 · 0 评论 -
C++难点八:友元函数的三种实现
友元函数的三种实现:1.全局函数做友元#include <iostream>#include<string.h>using namespace std;//1.全局函数做友元class House{ friend void Guy(House &h);public: House():LivingRoom("客厅"),BedRoom("卧室") { }public: string LivingRoom;原创 2022-02-14 23:03:58 · 391 阅读 · 0 评论 -
C++难点七:链式编程中的引用返回问题-举例说明
在写代码的时候,发现了一个小问题:例一:#include <iostream>using namespace std;class Person{public: int age; Person(int age) { this->age=age; } Person addAge(Person &p) { this->age+=p.age; return *this;原创 2022-02-14 16:05:33 · 490 阅读 · 0 评论 -
C++难点六:深拷贝、浅拷贝(经典面试问题)
浅拷贝:编译器做的简单赋值拷贝操作。例如:#include <iostream>using namespace std;class Person{public: int m_weight; int* m_height; Person(int weight,int height)//有参构造函数(写了有参构造函数,编译器就不会再提供无参构造函数) { m_weight = weight; m_height原创 2022-02-09 13:30:39 · 512 阅读 · 0 评论 -
C++难点五:拷贝构造函数的调用时机
使用一个创建完毕的对象来初始化一个新对象,如Point p2(p1);//此处是括号法值传递的方法给函数参数传值int func(Point p){}int main(){ Point p; func(p);}值方式返回局部对象我们知道,在难点一中的例3:int& func(){int a=10; return a;}处返回“局部变量的引用”,其实是不可以的,好一点的编译器默认帮我们保留一次局部变量的结果,第二次就不会再保留局部变量了。而值方式返回就不一样了,它..原创 2022-02-08 18:56:59 · 542 阅读 · 0 评论 -
C++难点四:构造函数的分类及其调用
构造函数的分类分类一:无参构造函数、有参构造函数#include <cmath>using namespace std;class Point{public: Point() { cout<<"无参构造函数"<<endl; } Point(int a) { cout<<"有参构造函数"<<endl; } ~Point() { cout<原创 2022-02-08 15:04:17 · 1031 阅读 · 0 评论 -
C++难点三:const修饰指针究竟是什么不变,以及引用的本质:const指针
const的3种用法:1. 常量指针2. 指针常量3. 指针and常量#include <iostream>using namespace std;int main() { int a=10; int b=20; //1.常量指针 修饰的是指针 所以整个指针*p的值不可以变,但是可以改变指向地址进而改变值 const int* p1=&a; p1=&b;//p1可以变 //*p1=20;*p1不可以变 //2.指针常量 修饰的是常量 所以整原创 2022-02-07 14:30:27 · 461 阅读 · 1 评论 -
C++难点二:三种函数传值方法:传值参数、指针参数、引用参数
#include <iostream>using namespace std;void swap_1(int a ,int b)//fail 传值参数{ int temp=a; a=b; b=temp;}void swap_2(int* a,int* b)//指针参数{ int temp=*a; *a=*b; *b=temp; }void swap_3(int& a,int &b)//引用参数{ i原创 2022-02-07 12:33:20 · 349 阅读 · 0 评论 -
C++难点一:引用&与取地址&的区别
&(引用):1.用途:给已定义的变量起别名,用来传值。2.注意事项:在声明的时候一定要初始化。3.判断方法:判断方法一:出现在变量声明语句中变量的左边。判断方法二:和类型(如 int)在一起的是引用。例1:int a = 10; int &c = a;其中,c就是a的一个引用。例2:int func(int &i){} //引用&(取地址运算符):1.用途:获取首地址。2.判断方法:判断方法一:在给变量赋初值时出现在等号的右边;或者,在执行原创 2022-02-07 11:09:38 · 779 阅读 · 0 评论