构造函数与析构函数
构造函数与析构函数定义:在C++中,构造函数和析构函数是用于对象初始化和清理的特殊成员函数。构造函数在对象创建时自动调用,而析构函数在对象销毁前自动调用。 构造函数: 构造函数用于初始化对象的成员变量。它的名称与类名相同,没有返回值(是没有返回值,而不是返回值为空(void))。构造函数可以有参数,也可以没有参数。构造函数可以进行重载,即:一个类可以拥有多个参数列表不同的构造函数。 析构函数: 析构函数在对象销毁前自动调用,名称为~ 类名,与构造函数相同,也没有返回值,一个类只能拥有一个析构函数。 然而,如果对象是动态分配(使用new)的,那么需要在使用完成后手动通过delete进行销毁,而不是依赖对象在作用域结束后的自动析构。 123456789101112class A{ private: int a; public: A(int a){ this->a=a; cout<<"A is...
c++中this指针的意义和用法
c++中this指针的意义和用法前言:在做作业的时候,看到了this指针,不知道是什么东西,于是查了一下,留一篇文章记录 this指针是什么?在C++中,类里面的成员函数可以访问类的成员变量,但是有时候可能会有参数名和成员变量名相同的情况。这时候,可能需要用某种方式来区分它们。比如,在构造函数中,参数名如果和成员变量名一样,就需要用this指针来指定成员变量。也就是说,在类的非静态成员函数中,this指针指向调用该函数的对象实例。这样的话,通过this可以访问该对象的所有成员,包括成员变量和成员函数。 那具体什么时候会用到this呢?1. 解决成员变量与参数名称冲突当成员函数的参数名与类的成员变量名相同时,使用this->变量名明确指向成员变量。示例:12345678class MyClass { private: int x; public: void setX(int x) { this->x = x; // 使用this消除歧义 ...
butterfly主题美化之背景毛玻璃效果
前言我在进行butterfly主题美化的时候,发现隔壁redefine主题的毛玻璃效果非常好看,如果为了毛玻璃而抛弃butterfly奔向redefine,很多内容要重新配置。因此,我在ai 的帮助下,顺利给butterfly主题也加上了毛玻璃效果。一、核心实现原理初始状态:背景无模糊且透明 滚动触发:通过JavaScript监听滚动事件,超过设定阈值后添加模糊效果 视觉优化:使用backdrop-filter实现毛玻璃质感,配合透明度和过渡动画 二、操作步骤1.按照butterfly教程文档预调整自己的背景和头图(已配好背景请忽视)在config.yml中,搜索:Website Background,加上自己的背景。 123# Website Background# Can set it to color or image urlbackground: /img/your_background.XXX 接着搜索index_img,将头图设置为透明,这时我们得到了不论如何滚动都始终保持不动的背景。 12# The banner image of index...
类和string类
C++类类定义:定义一个类需要使用关键字 class,然后指定类的名称,并类的主体是包含在一对花括号中,主体包含类的成员变量和成员函数。 1234567891011↓关键字class Box{ public: --> public/private/protected double length; --> 变量 double breadth; double height; void func(){ --> 函数,称为方法 }}; --> 以分号结尾 访问修饰符一个类可以有多个 public、protected 或 private 标记区域。每个标记区域在下一个标记区域开始之前或者在遇到类主体结束右括号之前都是有效的。成员和类的默认访问修饰符是...
From C to C++
From C to C++输入/输出操纵符 <iostream>定义了一些无参的操纵符,包括: endl,输出 '\n' 并冲洗输出流。例如:cout << endl; dec, hex, oct,更改用于整数输入/输出的基数(进制) left,right, 设置填充字符的布置,即左对齐或右对齐 fixed,scientific,更改用于浮点 I/O 的格式化 showpoint,noshowpoint,控制浮点表示是否始终包含小数点 showpos,noshowpos,控制是否将 + 号与非负数一同使用 <iomanip>定义了一些有参的操纵符函数,包括: setw(n),更改下个输入/输出域的宽度,宽度为 n setprecision(n),更改浮点精度 123456789101112131415#include<iostream>#include<iomanip>using namespace std;int main() { double...