C++ 成员函数2025 年 8 月 29 日 | 阅读 10 分钟 在 C++ 中,**成员函数** 是定义在类内部并与该类对象相关联的函数。它提供对类成员的访问,并可以直接操作和修改它们。这些函数定义了对象的行为,可以通过对象名和点运算符来调用。 成员函数可以通过作用域解析运算符在类内部或外部定义,用于操作或检索对象数据。根据访问说明符,这些函数可以是 public、private 或 protected。 语法它具有以下语法: 在这个语法中,
如果我们选择在类内部定义成员函数,可以直接在类内部进行定义。否则,我们必须使用作用域解析运算符 (::) 在 C++ 中类外部声明成员函数。 语法它具有以下语法: C++ 简单成员函数示例让我们通过一个例子来说明 C++ 中的成员函数。 示例编译并运行输出 Volume of Dice1 : 210 Volume of Dice2 : 1560 说明 在这个例子中,我们定义了一个 Dice 类,它代表一个具有长度、宽度和高度的 3D 对象。之后,它包含设置这些尺寸和计算体积的成员函数。在 main() 函数中,创建了两个 dice 对象(Dice1 和 Dice2),使用 setter 函数设置它们的尺寸,并使用 getVolume() 函数计算并打印它们的体积。 定义成员函数在 C++ 中定义成员函数主要有两种方式。 ![]()
现在,我们将逐一讨论这些成员函数的声明。 类内部的成员函数在 C++ 中,我们可以在类内部定义成员函数。这允许我们访问数据成员和其他成员函数。它可以被视为内联函数。成员函数属于特定的类或对象,用于操作该类的这些数据成员,从而实现与对象内部状态的交互和操作,或者与其他同类的对象进行交互。 如果我们想在类内部定义一个成员函数,可以将函数的签名和实现包含在类定义中。 语法它具有以下语法: C++ 类内部成员函数的示例让我们通过一个例子来说明 C++ 中类内部的成员函数。 示例编译并运行输出 Name: Alice ID: 101 Salary: 50000 说明 在这个例子中,我们定义了一个 Employee 类,它具有私有的数据成员(id、name 和 salary)。我们还初始化了公共成员函数来设置和显示员工详细信息。之后,setDetails 函数初始化员工数据,而 displayEmployee 则将其打印到控制台。在 main() 函数中,创建了一个 Employee 对象 emp1,设置了它的详细信息,然后打印输出。 类外部的成员函数在 C++ 中,我们可以使用作用域解析运算符 (::) 在类外部定义成员函数,该运算符放在函数名之前。函数名需要包含类名,后跟作用域解析运算符。这些成员函数可以访问类的所有成员,如 public、private 和 protected 成员。 语法它具有以下语法: C++ 类外部成员函数的示例让我们通过一个例子来说明类外部的成员函数。 示例编译并运行输出 Car Name: BMW Car Model: 2025 说明 在这个例子中,我们定义了一个 Car 类,它具有私有的数据成员 brand_name 和 model_no。我们还使用公共成员函数来设置和显示这些详细信息。之后,setDetails() 函数初始化汽车的品牌和型号,而 showDetails() 则打印它们的详细信息。在 main() 函数中,创建了一个 Car 对象,它显示了汽车的信息。 成员函数的类型C++ 中主要有五种类型的成员函数。 ![]() 现在,我们将逐一讨论这些成员函数。 1) 简单成员函数在 C++ 中,普通成员函数是最常用的成员函数类型。我们可以在类定义内部定义这些函数,并可以访问数据成员和其他类成员函数。 语法 它具有以下语法: 2) 静态成员函数在 C++ 中,可以使用 static 关键字与函数名一起将函数定义为静态。如果我们将成员函数声明为静态,则只会创建一个函数的副本,并由所有类对象使用。这些函数可以在不创建类对象的情况下调用。 语法 它具有以下语法: C++ 静态成员函数示例让我们通过一个例子来演示 C++ 中的静态成员函数。 示例编译并运行输出 Employee No: 1 Employee No: 2 Employee No: 3 说明 在这个例子中,我们采用了一个 Employee 类,它包含一个静态数据成员 total。它用于跟踪创建的员工对象的总数。当实例化一个 Employee 对象时,构造函数会增加 total。在 main() 函数中,total 的值全局增加,并且对每个对象都相同。 3) 常量成员函数在 C++ 中,常量成员函数是一个不会更改类任何数据成员的成员函数。通过使用const 关键字,我们可以在函数声明后声明成员函数。这个成员函数允许我们访问对象的 `const` 数据成员,但不能修改它们。 语法 它具有以下语法: C++ 常量成员函数示例让我们通过一个例子来说明 C++ 中的常量成员函数。 示例编译并运行输出 Car Name: BMW, Model: 2020, Color: Black 说明 在这个例子中,我们采用了一个 Car 类,它包含三个私有数据成员:car_name、car_model 和 car_color。之后,构造函数使用初始化列表初始化这些成员。show() 函数是一个常量成员函数,这意味着它不会更改任何数据成员。在 main() 函数中,创建了一个对象 c,show() 函数显示了它的详细信息。 4) 内联成员函数在 C++ 中,内联函数是使用 inline 关键字定义的函数。在内联函数中,编译器会在编译时用函数的原始代码替换函数调用。这有助于减少函数调用开销,提高性能,特别是对于小型且频繁使用的函数。 语法 它具有以下语法: C++ 内联成员函数示例让我们通过一个例子来说明 C++ 中的内联成员函数。 示例编译并运行输出 Length: 12 Width: 4 Height: 7 Volume of the Cuboid: 336 说明 在这个例子中,我们定义了一个 Cuboid 类,它有三个私有成员:length、width 和 height。之后,它使用构造函数初始化这些维度。类内部定义了两个内联成员函数:volume() 和 show()。在 main() 函数中,创建了一个对象 c,其维度为 12、4 和 7,并使用 show() 函数打印其详细信息。 5) 友元成员函数在 C++ 中,友元函数是在类定义外部定义,并在类内部使用 friend 关键字声明的。友元函数是非成员函数,但可以访问类的私有和保护成员。如果我们想将一个函数声明为友元函数,一个类可以授予它特殊的访问权限,使其能够操作类的内部数据。 语法 它具有以下语法: C++ 友元成员函数示例让我们通过一个例子来说明 C++ 中的友元成员函数示例。 示例编译并运行输出 Student Name: Alice Age: 24 Marks: 75 说明 在这个例子中,我们采用了一个 Student 类,它包含私有数据成员:name、age 和 marks。之后,使用构造函数来初始化这些数据成员。showStudetails 函数被声明为该类的友元。在 main() 函数中,创建了一个 Student 对象并将其传递给友元函数以显示详细信息。 C++ 成员函数选择题1) 下列哪个选项表示 C++ 中的内存函数?
答案: c) 在类内声明的函数 2) 在 C++ 中定义成员函数的正确语法是什么?
答案: b) return_type ClassName::functionName() 3) 下列哪个选项不是有效的成员函数类型?
答案: a) Mutable 4) C++ 中的静态成员函数,以下哪个选项是正确的?
答案: d) 它们不能访问 this 指针 5) 在 C++ 中,用于定义静态成员函数的关键字是哪个?
答案: c) static 下一主题C++ 中的纯虚函数 |
教程 编译器 程序 OOPs STL 面试题 C++ 中的 OOPs (面向对象编程) 概念 主要目的是 C++ 编程是为了将面向对象概念引入 C 编程语言。对象...
阅读 10 分钟
C++ 提供了一些基本的数学函数,使用这些函数所需的头文件是 <math.h>。三角函数方法描述 cos(x) 计算 x 的余弦值。 sin(x) 计算 x 的正弦值。 tan(x) 计算 x 的正切值。 acos(x) 查找 x 的反余弦值。 asin(x) 查找 x 的反正弦值。 atan(x) ...
阅读 3 分钟
在 C++ 中,纯虚函数是在基类中声明的虚拟函数,并且必须在派生类中重写。函数声明以 = 0 结尾,这表明它不能在类主体中包含任何默认实现。...
阅读 8 分钟
在 C++ 编程中,this 是一个关键字,它引用类的当前实例。类对象可以在其成员函数中使用此指针访问自身。理解 this 指针是在我们需要在面向对象结构中进行操作时的关键前提...
阅读 10 分钟
在 C++ 中,结构体是用于创建结构化对象的用户定义类型。它们允许我们将不同数据类型的变量收集到一个名称下。结构体用于轻量级对象,例如矩形、颜色、点等。在 C++ 中,结构体可以包含数据...
阅读 8 分钟
在面向对象编程中,继承是最强大的概念之一。它允许一个类继承另一个类的特性和行为。重写是 C++ 编程中用于修改派生类中继承的成员函数行为的一种技术。在...
阅读 4 分钟
在 C++ 中,友元函数是一个非成员函数,它可以访问类的私有和保护成员。该函数使用 friend 关键字在类中声明为友元。如果我们想将一个函数声明为友元...
阅读 10 分钟
在 C++ 中,static 是一个关键字或修饰符,属于类型而不是实例。因此,不需要实例来访问静态成员。在 C++ 中,static 可以是字段、方法、构造函数、类、属性、运算符和事件。C++ 对各种函数使用 static 关键字...
阅读9分钟
在 C++ 编程语言中,类和对象是导致 C++ 面向对象编程的基础构建块。它们以更有条理、可重用和可维护的方式提供代码。在 C++ 中,类充当定义对象如何构造的蓝图...
11 分钟阅读
在 C++ 中,枚举 (Enum) 是一种用户定义的数据类型,包含一组固定的命名整数常量。我们可以使用 enum 关键字定义枚举。它有助于使代码更具可读性和可维护性。它可以用于星期(周日、周一、周二、...)
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India