C++中类的定义与使用

简介: C++中类的定义与使用

一、引言

在C++中,类是面向对象编程(OOP)的核心构造之一。类提供了一种封装数据(称为成员变量或属性)和操作数据的方法(称为成员函数或方法)的方式。通过类,我们可以创建具有相似属性和行为的对象,使得代码更加模块化和可重用。本文将介绍C++中类的定义、成员变量、成员函数以及类的实例化和使用。


二、类的定义

在C++中,类的定义使用class关键字。类定义通常包含两部分:成员变量(数据成员)和成员函数(方法)。

下面是一个简单的类定义示例,该类表示一个矩形:

cpp

 

#include <iostream> 

 

 

 

class Rectangle {

 

public: // 访问修饰符,用于指定成员的访问权限

 

// 成员变量(数据成员)

 

double width;

 

double height;

 

 

 

// 成员函数(方法)

 

Rectangle(double w, double h) : width(w), height(h) {} // 构造函数

 

double area() const { return width * height; } // 计算面积的方法

 

void setWidth(double w) { width = w; } // 设置宽度的方法

 

void setHeight(double h) { height = h; } // 设置高度的方法

 

// ... 其他成员函数 ...

 

};

在上面的示例中,Rectangle类有两个成员变量:widthheight,分别表示矩形的宽和高。它还包含四个成员函数:一个构造函数用于初始化矩形的宽和高,一个area方法用于计算矩形的面积,以及两个设置器方法setWidthsetHeight用于修改矩形的宽和高。


三、类的访问修饰符

在类定义中,可以使用访问修饰符来指定成员的访问权限。C++支持三种访问修饰符:publicprotectedprivate。默认情况下,如果不指定访问修饰符,成员将被视为private

· public:成员可以从类的外部访问。

· protected:成员可以从类的外部访问(仅限于派生类),也可以从类的内部访问。

· private:成员只能从类的内部访问。

在上面的示例中,所有成员都被声明为public,这意味着它们可以从类的外部直接访问。但在实际编程中,通常会将数据成员声明为private,并通过公共的成员函数(如设置器和获取器)来访问它们,以实现数据的封装和隐藏。


四、类的实例化与使用

要使用类,需要创建类的对象(实例)。在C++中,使用类名和一对圆括号(可以包含参数以调用构造函数)来创建对象。

下面是一个使用Rectangle类的示例:

cpp

 

int main() {

 

// 创建Rectangle对象并初始化

 

Rectangle rect(5.0, 10.0);

 

 

 

// 访问和修改对象的成员变量(如果它们是public的)

 

// 但通常我们会通过成员函数来访问和修改数据成员

 

std::cout << "Width: " << rect.width << ", Height: " << rect.height << std::endl;

 

 

 

// 使用成员函数

 

std::cout << "Area: " << rect.area() << std::endl;

 

rect.setWidth(6.0);

 

std::cout << "New Area: " << rect.area() << std::endl;

 

 

 

return 0;

 

}

请注意,尽管在上面的示例中我们直接访问了widthheight成员变量,但在实际编程中,我们通常会将它们声明为private,并通过公共的获取器和设置器方法来访问和修改它们。


五、总结

本文介绍了C++中类的定义、成员变量、成员函数以及类的实例化和使用。通过类,我们可以创建具有相似属性和行为的对象,使代码更加模块化和可重用。在定义类时,要注意使用适当的访问修饰符来指定成员的访问权限,以实现数据的封装和隐藏。在使用类时,需要创建类的对象(实例),并通过对象的成员函数来访问和修改其数据成员。

 

目录
相关文章
|
1月前
|
存储 C++ 容器
学会在 C++ 中使用变量:从定义到实践
C++中的变量是数据容器,包括`int`、`double`、`char`、`string`和`bool`等类型。声明变量时指定类型和名称,如`int myNum = 15;`。`cout`与`&lt;&lt;`用于显示变量值。常量用`const`声明,值不可变。变量名应唯一,遵循特定命名规则,常量声明时需立即赋值。
131 1
|
1月前
|
C++
C++程序中的类声明与对象定义
C++程序中的类声明与对象定义
27 1
|
6天前
|
数据安全/隐私保护 C++
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
C++ 中的类是一种用户定义的数据类型,用于表示具有相似特征和行为的对象的模板。
|
24天前
|
C++
C++中使用namespace关键字定义和访问命名空间的技术性探讨
C++中使用namespace关键字定义和访问命名空间的技术性探讨
16 3
|
1月前
|
安全 程序员 编译器
【C++】继承(定义、菱形继承、虚拟继承)
【C++】继承(定义、菱形继承、虚拟继承)
26 1
|
1月前
|
存储 编译器 C语言
【C++】类与对象【定义、访问限定符、this指针】
【C++】类与对象【定义、访问限定符、this指针】
10 1
|
1月前
|
编译器 C语言 C++
【C++成长记】C++入门 | 类和对象(上) |面向过程和面向对象初步认识、类的引入、类的定义、类的访问限定符及封装
【C++成长记】C++入门 | 类和对象(上) |面向过程和面向对象初步认识、类的引入、类的定义、类的访问限定符及封装
|
1月前
|
数据安全/隐私保护 C++
C++ 类方法解析:内外定义、参数、访问控制与静态方法详解
C++ 中的类方法(成员函数)分为类内定义和类外定义,用于操作类数据。类内定义直接在类中声明和定义,而类外定义则先在类中声明,再外部定义。方法可以有参数,访问权限可通过 public、private 和 protected 控制。静态方法与类关联,不依赖对象实例,直接用类名调用。了解这些概念有助于面向对象编程。
22 0
|
1月前
|
存储 程序员 Shell
【C/C++ 基本语法 结构体】C++ 结构体声明(定义)以及不同写法的差异
【C/C++ 基本语法 结构体】C++ 结构体声明(定义)以及不同写法的差异
31 1