C++基础知识
C++基础知识
欧买噶噶
我想成为大佬
展开
-
C++_const_修饰成员函数(常对象,常函数)
指针通常用于访问类的成员变量和成员函数。当一个成员函数被调用时,编译器会自动将当前对象作为第一个参数传递给该函数,这个参数就是。在C++中,如果一个对象被声明为常对象,那么它的成员变量也不能被修改。在成员函数后面加上const,修饰的是this指向,让指针指向的值也不可以修改。2、成员变量(属性)加关键字mutable后,在常函数中依然可以修改。1、该成员函数不能修改类的成员变量(变量)。this指针的本质是指针常量,指针的指向是不可以修改的。关键字用于修饰成员函数,成员函数后面加const,称为。原创 2023-12-05 22:51:13 · 425 阅读 · 1 评论 -
C++笔记2
class关键字用于定义一个类,类名需要符合标识符命名规则。类的成员分为三种访问权限:公有(public)、保护(protected)和私有(private)。公有成员可以在类的外部访问,保护成员可以在同一个类或其派生类中访问,私有成员只能在类的内部访问。原创 2023-11-22 21:58:52 · 40 阅读 · 0 评论 -
类和对象,C++运算符重载,加号运算符重载
C++运算符重载是允许程序员自定义运算符的行为的一种机制。通过重载运算符,可以在类中定义特定的行为,使得类的对象可以使用运算符进行操作。加号运算符重载是指重载加号运算符(+),使得类的对象可以使用加号运算符进行相加操作。和通过全局函数重载加号,如下代码所示。加号重载也可以函数重载。通过成员函数重载加号。原创 2023-12-06 20:49:51 · 374 阅读 · 1 评论 -
C++继承
默认情况下,成员的访问权限为私有(private),只能在类内部访问;C++继承是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。如果通过子类对象访问到父类中同名成员同名函数,需要加作用域,直接访问只能访问子类。2、父类中私有成员属性是被编译器给隐藏了,因此是访问不到,但是确实被继承下去了。,用于控制基类成员(父类)在派生类(子类)中的访问权限。从基类继承过过来的表现其共性,而新增的成员体现了其个性。一类是从基类继承过来的,一类是自己增加的成员。//1.通过对象访问。原创 2023-12-06 22:48:37 · 411 阅读 · 1 评论 -
C++类和对象-构造和析构函数
析构函数的名称与类名相同,前面加一个波浪符(~),返回值类型为void,不能有参数。其中,`<类名>`表示类的名称,`<构造函数名>`表示构造函数的名称,`<参数列表>`表示构造函数的参数列表,多个参数之间用逗号分隔。其中,`<类名>`表示类的名称,`<析构函数名>`表示析构函数的名称,与构造函数不同的是,析构函数名前面要加上一个波浪符(~)。析构函数注意:析构函数:没有返回值,不写void,函数名与类名相同,前面加~,不可以有参数,不可以重载,对象在销毁前时自动调用且只调用一次。原创 2023-11-28 22:57:09 · 395 阅读 · 0 评论 -
C++笔记1
(2)、如果函数的声明有了默认参数,函数的实现不能有默认参数了,声明和实现只能有一个是有默认参数的。//引用必须初始化,引用在初始化之后不可以改变。注意:(1)、如果某个位置已经有了默认参数,从这个位置往后,从左往右后面必须是默认值。如果我们自己传入数据,就用自己的数据,如果没有则利用默认值。常量指针:值不可以改,指向可以改 const int *指针常量:指向不可改,值可以改 int * const。注意:函数的返回值不可以作为函数重载的条件。3、引用做函数的返回值。(2)、函数的名称相同。原创 2023-11-21 23:02:03 · 31 阅读 · 0 评论 -
C++类和对象
类是一种用户自定义的数据类型,用于指定和封装数据和函数的组合,通常被称为用户定义的类型。例如,可以创建一个名为"Dog"的类,其中包含描述狗的属性(如颜色、名字、品种等)的数据成员变量,以及描述狗的行为(如摇尾巴、叫、吃等)的成员函数。例如,根据"Dog"类创建一个具体的对象,即是具体的一条狗,它会有具体的颜色、名字和品种,并且能够执行摇尾巴、叫和吃等行为。总的来说,类是一种抽象的数据类型,它定义了一类对象的行为和状态;而对象则是类的实例,具有状态和行为。另一方面,对象是类的实例。原创 2023-12-05 22:09:14 · 348 阅读 · 1 评论 -
#ifndef,#define,#endif
1. `#ifndef`:用于检查某个宏是否已经定义过,如果没有定义过,则执行后面的代码块。通常与 `#define` 和 `#endif` 一起使用,以确保头文件只被包含一次。3. `#endif`:用于结束一个条件编译的代码块。当遇到 `#endif` 时,编译器会停止处理该代码块中的内容。`#ifndef`, `#define`, `#endif` 和 是C/C++语言中的预处理器指令。2. `#define`:用于定义一个宏,可以将其替换为任意文本。宏在预处理阶段就会被替换。原创 2023-11-30 10:28:06 · 356 阅读 · 0 评论 -
C++类的成员函数,成员变量
静态成员变量:1、所有对象共享一份数据。2、在编译阶段分配内存。3、类内声明,类外初始化。静态成员函数:1、所有对象共享同一个函数。2、静态成员函数只能访问静态成员变量。1、所有对象共享同一个函数。2、静态成员函数只能访问静态成员变量。静态成员函数可以调用静态成员变量,但是不可以访问非静态成员变量。以上是 初始化列表初始化属性。静态成员函数两种访问方式。1、通过对象进行访问。1、通过对象进行访问。静态变量两种访问方式。2、通过类名进行访问。2、通过类名进行访问。原创 2023-12-05 21:59:46 · 432 阅读 · 1 评论 -
C++语言学习3
public中要有获取长宽高的函数接口,属性一般不公开,只是对外提供接口使用就行了,public中是为了让类的使用者只能通过设计者提供的接口去修改类的属性。2、类和对象——封装--立方体类,要求:设计立方体类,求出立方体的面积和体积,分别求出全局函数和成员函数判断两个立方体是否相等。把所有的类写在一个CPP文件中是不好管理的,代码过于长,在main.cpp中写实现,.h文件中写声明。例如:把上述代码中的point类进行拆分成point.h文件,和point.cpp文件。原创 2023-11-28 22:10:06 · 385 阅读 · 0 评论 -
C++常用头文件汇总
例如,在代码中包含`<vector>`头文件后,你就可以声明和使用`std::vector`类型的变量,调用`std::vector`的成员函数,以及使用`std::vector`相关的操作符。`#include <vector>` 是C++中的一个预处理指令,它告诉编译器在编译过程中将名为`vector`的标准库头文件包含到当前文件中。#include <iostream> //输入输出的头文件,cin>>,cout<<的头文件。#include<stdlib.h> //rand的头文件。原创 2023-11-23 19:28:53 · 510 阅读 · 0 评论