自定义博客皮肤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)
  • 收藏
  • 关注

原创 c++中结构体与类、容器的区别

结构体(struct):用于组合不同类型的数据成员的用户自定义数据类型,允许在一个单一的实体中存储多个不同类型的数据,并且可以根据需要自定义数据成员的布局和访问权限。c++中的类(Class):用于创建用户自定义的数据类型,可包含数据成员和成员函数,实现数据的封装和操作,允许将数据和操作封装在一起。2.结构体的成员函数主要适用于实现一些操作,但是类的成员函数是用于操作类的成员变量的,实现类的行为和功能。1.结构体成员默认的访问权限是公共的,但是类的默认访问权限是私有的。

2024-04-29 16:08:59 566

原创 c++基础学习(多态)

多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。

2024-04-10 15:46:53 149

原创 c++基础学习(指向类的指针)

如果我们永远不需要考虑这个问题那该多好(实际大部分情况下,我们真不需要考虑),因为这个本身已经超出 C++ 语言的范畴,但不幸的是,在我们实际的开发过程中却不得不去处理这个问题。一个指向 C++ 类的指针与指向结构的指针类似,访问指向类的指针的成员,需要使用成员访问运算符 ->,就像访问指向结构的指针一样。1.分配不限制作用域的对象,对象存储在其特定的内存中,而不是在内存中存储对象的拷贝。在 C++ 中,指向类的指针指向一个类的对象,与普通的指针相似,指向类的指针可以用于访问对象的成员变量和成员函数。

2024-04-10 15:31:28 316 1

原创 c++基础学习(内联函数)

如果想把一个函数定义为内联函数,则需要在函数名前面放置关键字 inline,在调用函数之前需要对函数进行定义。如果已定义的函数多于一行,编译器会忽略 inline 限定符。C++ 内联函数是通常与类一起使用。如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。对内联函数进行任何修改,都需要重新编译函数的所有客户端,因为编译器需要重新更换一次所有的代码,否则将会继续使用旧的函数。在类定义中的定义的函数都是内联函数,即使没有使用 inline 说明符。

2024-04-10 15:13:04 222 1

原创 c++基础学习(友元函数)

类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。

2024-04-10 15:10:48 241 1

原创 c++基础学习(拷贝构造函数)

如果在类中没有定义拷贝构造函数,编译器会自行定义一个。如果类带有指针变量,并有动态内存分配,则它必须有一个拷贝构造函数。拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象。在这里,obj 是一个对象引用,该对象是用于初始化另一个对象的。1.通过使用另一个同类型的对象来初始化新创建的对象。2.复制对象把它作为参数传递给函数。3.复制对象,并从函数返回这个对象。

2024-04-10 15:07:23 338 1

原创 qt种用vtk显示带颜色的点云

但是将InsertNextTypedTuple()替换成SetTuple3(),SetTuple3 方法接受一个索引(表示要设置的元组的位置)和三个值(分别代表RGB颜色分量)。索引从0开始,并且应该与你的点云中的点一一对应,更适合用于设置已知索引位置的颜色值。示例一:该点云不可以显示带颜色点云的本身的颜色,因为InsertNextTypedTuple()这个函数是一个用于添加数据到数组的方法,但是它本身需要添加矢量,会造成点云颜色映射不准确,从而导致不能正确的显示点云本身的颜色。

2024-04-01 11:02:23 820

原创 c++记账本项目

编写菜单函数menus.cpp,该函数里面包含了三个软件界面的菜单,主界面菜单showMainMeun(),记账菜单showAccountingMwun(),查询菜单showQueryMeun(),该函数比较简单,主要就是用到了cout输出。最后一个函数是对账目数据进行操作的函数operations.cpp,这个函数是最重要的也是最复杂的函数,主要实现对账目数据的读取,记账,查询以及保存功能。编写主函数account.cpp,该函数里面包含了该项目实现的所有流程,以及所用到的所有函数。

2024-02-20 16:53:15 662 1

原创 c++基础知识学习

/将容器v1里面的数从第一个数到最后一个数都复制到容器v2里面。//在容器头插入100。if(v1.empty())//判断容器是否为空。v1.back()//访问容器中最后一个元素。v1.capacity()//求容器的容量。v1.front()//访问容器第一个元素。v1.at(i)//访问容器的每一个元素。v1.size()//求容器的大小。

2024-02-20 15:15:21 438

原创 基础c++学习(STL标准模板库)

/给arr数组进行从大到小排序,加第三个参数greater(),便可实现从大到小排序。遍历(迭代器):for(set::iterator it = st.begin();

2024-01-24 20:43:20 969 1

原创 基础c++学习(类模板)

1.当子类继承的父类是一个类模板时,子类在声明的时候,要指定出 父类中T的类型如果不指定,编译器无法给子类分配内存。3.如果想灵活指定出父类中T的类型,子类也需变为类模板。2.如果不指定,编译器无法给子类分配内存。

2024-01-18 16:59:32 389 1

原创 基础c++学习(类模板)

1.如果是普通类中的成员函数一开始就可以创建。2.类模板中的成员函数在调用时才创建。类模板对象做函数参数。

2024-01-18 16:58:57 409 1

原创 基础c++学习(类模板)

2.类模板在模板参数列表中可以有默认参数。1.类模板没有自动类型推导的使用方式。类模板和函数模板的区别。

2024-01-18 16:57:07 423 1

原创 基础c++学习(类模板)

建立一个通用类,类中的成员,数据类型可以不具体指定,用一个虚拟的类型来代表。语法:template。

2024-01-18 16:56:05 368 1

原创 基础c++学习(具体化模板)

有的时候编译器不知道去编译特定类型的参数,造成编译错误,所以我们需要使用特定的自定义类型模板,对编译器对其进行编译。具体化模板,可以解决自定义类型的通用化。

2024-01-15 10:53:34 392 1

原创 基础c++学习(普通模板和函数模板的区别)

函数模板 用自动类型推导,不可以发生隐式类型转换。函数模板 用显示指示类型,可以发生隐式类型转换。普通函数调用可以发生隐式转换。

2024-01-15 10:10:25 360 1

原创 基础c++学习(函数模板案例)

实现一个通用的对数组进行排序的函数。测试 char数组,int数组。

2024-01-15 09:38:45 424 1

原创 基础c++学习(模板知识)

函数模板:建立一个通用的函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。typename:表面其后面的符号是一种数据类型,可以替换成class.模板:针对c++泛型编程和STL技术,提高复用性,将类型参数化。1.自动类型推导,必须推导出一致的数据类型T,才可以使用。2.模板必须需要确定出T的数据类型,才可以使用。使用:自动类型推导,显示指定类型。template:声明创建模板。语法:template。

2024-01-14 21:55:40 446 1

原创 基础c++学习(文件操作)

3.打开文件:ofs.open(“person.txt”,ios::out | ios::binary);操作文件的三大类:1.ofstream:写操作2.ifstream:读操作3.fstream:读写操作。3.打开文件:ifs.open(“person.txt”,ios::in | ios::binary);4.写文件:ofs.write((const char *)&p,sizeof(Person));3.打开文件并判断文件是否打开成功:ifs.open(“文件路径”,打开方式);

2024-01-14 21:54:30 447 1

原创 基础c++学习(易忘知识点)

:作用域解析运算符,两个作用,第一个是限定在命名空间中的标识符的范围,比如有一个命名空间namespace,其中包含类class,就可以使用::来引用该类。引用可以实现形参改变实参(或者可以用指针实现形参修饰实参),引用传递和地址传递是一样的,但是更加的简单。占位函数:void func(int a,int ){};.:当你直接操作对象而不是指针时,可以使用.通过对象本身访问成员,没有.的是全局变量。->:当有一个指针对象时,可以用->通过指针访问对对象的成员。

2024-01-14 21:50:14 399 1

原创 基础部c++学习(析构函数)

规则:用户定义有参函数则没有无参函数,若定义拷贝函数,则没有其他两个函数。4.程序在调用对象销毁前会自动调用析构,无须手动调用,而且只会调用一次。析构函数语法: ~类名(){} 对象被销毁前会自动调用。调用默认函数时,不要加()。否则会默认为函数的声明。3.构造函数不可以有参数,因此不可以发生重载。1.构造函数,没有返回值也不写void。2.函数名称与类名相同,在前面加上~。按参数分类:有参构造和无参构造。按类型分类:普通构造和拷贝构造。

2024-01-14 21:47:25 363 1

原创 基础c++学习(类和对象)

Private里面的属性要想进行设置,可以在pubilcl里面进行写程序。4.程序在调用对象的时候会自动调用构造,无须手动调用,而且只会调用一次。程序在调用对象销毁前会自动调用析构,无须手动调用,而且只会调用一次。析构函数语法: ~类名(){} 对象被销毁前会自动调用。在一个类中我们可以用另一个类作为该类的一个成员。3.构造函数不可以有参数,因此不可以发生重载。3.构造函数可以有参数,因此可以发生重载。1.构造函数,没有返回值也不写void。1.构造函数,没有返回值也不写void。

2024-01-14 21:46:17 385 1

空空如也

空空如也

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

TA关注的人

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