-
C++ static静态成员函数分析
所属栏目:[语言] 日期:2023-06-05 热度:4451
在类中,static 除了可以声明静态成员变量,还可以声明静态成员函数。普通成员函数可以访问所有成员(包括成员变量和成员函数),静态成员函数只能访问静态成员。
编译器在编译一个普通成员函数时,会隐式地增加一[详细] -
C++ static静态成员变量分析
所属栏目:[语言] 日期:2023-06-05 热度:5836
对象的内存中包含了成员变量,这使得不同对象的成员变量相互独立,它们的值不受其他对象的影响。例如有两个相同类型的对象 a、b,它们都有一个成员变量 m_name,那么修改 a.m_name 的值不会影响 b.m_name 的值。[详细]
-
C++ this指针分析
所属栏目:[语言] 日期:2023-06-05 热度:1575
this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。
所谓当前对象,是指正在使用的对象。例如对于stu.show();,stu 就是当前对象,this 就指向 stu。
下面[详细] -
C++析构函数的执行时机
所属栏目:[语言] 日期:2023-06-05 热度:7765
在所有函数之外创建的对象是全局对象,它和全局变量类似,位于内存分区中的全局数据区,程序在结束执行时会调用这些对象的析构函数。
在函数内部创建的对象是局部对象,它和局部变量类似,位于栈区,函数执行结束[详细] -
C++析构函数分析
所属栏目:[语言] 日期:2023-06-05 热度:2574
创建对象时系统会自动调用构造函数进行初始化工作,同样,销毁对象时系统也会自动调用一个函数来进行清理工作,例如释放分配的内存、关闭打开的文件等,这个函数就是析构函数。
析构函数(Destructor)也是一种特[详细] -
C++构造函数初始化列表
所属栏目:[语言] 日期:2023-06-02 热度:7082
构造函数的一项重要功能是对成员变量进行初始化,为了达到这个目的,可以在构造函数的函数体中对成员变量一一赋值,还可以采用初始化列表。
C++构造函数的初始化列表使得代码更加简洁,请看下面的例子:
#includ[详细] -
构造函数的重载
所属栏目:[语言] 日期:2023-06-02 热度:5962
和普通成员函数一样,构造函数是允许重载的。一个类可以有多个重载的构造函数,创建对象时根据传递的实参来判断调用哪一个构造函数。
构造函数的调用是强制性的,一旦在类中定义了构造函数,那么创建对象时就一定[详细] -
C++类的封装
所属栏目:[语言] 日期:2023-06-02 热度:5329
private 关键字的作用在于更好地隐藏类的内部实现,该向外暴露的接口(能通过对象访问的成员)都声明为 public,不希望外部知道、或者只在类内部使用的、或者对外部没有影响的成员,都建议声明为 private。
根据C[详细] -
C++类成员的访问权限
所属栏目:[语言] 日期:2023-06-02 热度:7475
C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。所谓访问权限,就是你能不能使用该类中的成员。
Java、C# 程[详细] -
在类体中和类体外定义成员函数的区别
所属栏目:[语言] 日期:2023-06-02 热度:8696
在类体中和类体外定义成员函数是有区别的:在类体中定义的成员函数会自动成为内联函数,在类体外定义的不会。当然,在类体内部定义的函数也可以加 inline 关键字,但这是多余的,因为类体内部定义的函数默认就是内联[详细]
-
C++类的定义
所属栏目:[语言] 日期:2023-06-02 热度:9553
类是用户自定义的类型,如果程序中要用到类,必须提前说明,或者使用已存在的类(别人写好的类、标准库中的类等),C++语法本身并不提供现成的类的名称、结构和内容。
一个简单的类的定义:
class Student{
pub[详细] -
C++函数重载介绍
所属栏目:[语言] 日期:2023-06-02 热度:3646
在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。例如希望交换两个变量的值,这两个变量有多种类型,可以是 int、float、char、bool 等,我们需要通过参数把变量的地址传入函数内部。在C语言[详细]
-
C++函数的默认参数分析
所属栏目:[语言] 日期:2023-06-02 热度:387
在C++中,定义函数时可以给形参指定一个默认的值,这样调用函数时如果没有给这个形参赋值(没有对应的实参),那么就使用这个默认的值。也就是说,调用函数时可以省略有默认值的参数。如果用户指定了参数的值,那么就[详细]
-
C++ inline内联函数介绍
所属栏目:[语言] 日期:2023-06-02 热度:5743
函数是一个可以重复使用的代码块,CPU 会一条一条地挨着执行其中的代码。CPU 在执行主调函数代码时如果遇到了被调函数,主调函数就会暂停,CPU 转而执行被调函数的代码;被调函数执行完毕后再返回到主调函数,主调函[详细]
-
C++ new和delete运算符介绍
所属栏目:[语言] 日期:2023-06-02 热度:2062
在C语言中,动态分配内存用 malloc() 函数,释放内存用 free() 函数。如下所示:
int *p = (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间
free(p); //释放内存
在C++中,这两个函数仍然可以[详细] -
C++布尔类型浅析
所属栏目:[语言] 日期:2023-05-29 热度:3286
在C语言中,关系运算和逻辑运算的结果有两种,真和假:0 表示假,非 0 表示真。例如:
#include <stdio.h>
int main(){
int a, b, flag;
scanf("%d %d", &a, &b);
flag = a > b; //flag保存关系运[详细] -
C++输入输出介绍
所属栏目:[语言] 日期:2023-05-29 热度:9926
在C语言中,我们通常会使用 scanf 和 printf 来对数据进行输入输出操作。在C++语言中,C语言的这一套输入输出库我们仍然能使用,但是 C++ 又增加了一套新的、更容易使用的输入输出库。
【例1】简单的输入输出代码[详细] -
如何使用C++的头文件
所属栏目:[语言] 日期:2023-05-29 热度:1121
虽然 C++ 几乎完全兼容C语言,C语言的头文件在 C++ 中依然被支持,但 C++ 新增的库更加强大和灵活,请读者尽量使用这些 C++ 新增的头文件,例如 iostream、fstream、string 等。
我们使用了C语言的格式输出函数 p[详细] -
C++头文件分析
所属栏目:[语言] 日期:2023-05-29 热度:6998
C++ 是在C语言的基础上开发的,早期的 C++ 还不完善,不支持命名空间,没有自己的编译器,而是将 C++ 代码翻译成C代码,再通过C编译器完成编译。这个时候的 C++ 仍然在使用C语言的库,stdio.h、stdlib.h、string.h 等[详细]
-
C++命名空间详解
所属栏目:[语言] 日期:2023-05-29 热度:171
一个中大型软件往往由多名程序员共同开发,会使用大量的变量和函数,不可避免地会出现变量或函数的命名冲突。当所有人的代码都测试通过,没有问题时,将它们结合到一起就有可能会出现命名冲突。
例如小李和小韩都[详细] -
C++源文件的后缀
所属栏目:[语言] 日期:2023-05-29 热度:9531
C语言源文件的后缀非常统一,在不同的编译器下都是.c。C++ 源文件的后缀则有些混乱,不同的编译器支持不同的后缀,下表是一个简单的汇总:
编译器 Microsoft Visual C++ GCC(GNU C++) Borland C++ UN[详细] -
C++类和对象的概念
所属栏目:[语言] 日期:2023-05-29 热度:2633
C++ 是一门面向对象的编程语言,理解 C++,首先要理解类(Class)和对象(Object)这两个概念。
C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版。结构体是一种构造类型,可以包含若干成员变量,每个[详细] -
GCC -E选项:对源程序做预处理方法
所属栏目:[语言] 日期:2023-05-29 热度:5899
通过前面的学习我们知道,根据源代码文件后缀名的不同,gcc 指令可以自行判断出该源程序是由哪种编程语言编写,从而完成由源代码到可执行代码的转换工作。考虑到本教程主要讲解如何使用 gcc 指令运行 C/C++ 程序,因[详细]
-
GCC常用的编译选项
所属栏目:[语言] 日期:2023-05-29 热度:2439
通过前面章节的学习我们知道,GCC 编译器并未提供给用户可用鼠标点击的界面窗口,要想调用 GCC 编译器编译 C 或者 C++ 程序,只能通过执行相应的 gcc 或者 g++ 指令。本节将重点给大家讲解如何编写 gcc 或者 g++ 指令[详细]
-
不同GCC版本支持的C语言编译标准
所属栏目:[语言] 日期:2023-05-29 热度:3127
要知道,任何一门编程语言都有相关的组织和团体在不停的维护和更新。原因很简单,时代在发展,编程语言如果停滞不前,最终就会被淘汰。
以 C 语言为例,发展至今该编程语言已经迭代了诸多个版本,例如 C89(偶尔又[详细]
