C++类的定义方式、数据成员、成员函数及访问权限(public,private,protected)

C++ 类是面向对象编程(OOP)中的一个核心概念,它封装了数据(称为属性或数据成员)和操作这些数据的方法(称为成员函数或方法)。类的定义方式以及成员(包括数据成员和成员函数)的访问权限是C++编程中非常重要的部分。

类的定义方式

C++中的类使用class关键字进行定义。类定义通常包括:

类名:标识类的名称。
成员变量(也称为数据成员):类中存储的数据。
成员函数:类中定义的函数,可以访问类的成员变量。
访问权限修饰符:public、protected、private,用于控制类成员的访问权限。

数据成员

数据成员是类中定义的变量,用于存储类的状态信息。数据成员可以是任何基本数据类型(如int、float等)或用户定义的类型(如其他类)。

成员函数

成员函数是类中定义的函数,用于执行对类的数据成员的操作。成员函数可以访问类的所有成员(取决于它们的访问权限),并且它们可以带有参数和返回值。成员函数可以在类定义内部或外部定义,但如果在外部定义,则必须使用作用域解析运算符(::)来指定函数所属的类。

访问权限(public, private, protected)

public:任何外部代码都可以访问public成员。通常,public成员包括构造函数、析构函数、赋值操作符和类接口中用于与其他类交互的成员函数。
private:private成员只能被类本身的成员函数、友元函数或友元类访问。私有成员通常用于隐藏类的内部实现细节,保护类的数据不被外部直接访问。
protected:protected成员与private成员类似,但它们还可以被派生类(即子类)的成员函数访问。这允许基类中的某些成员在派生类中被重用或修改,而不需要暴露给外部代码。

示例:

class Rectangle {  
public:  
    // 构造函数  
    Rectangle(int width, int height) : width_(width), height_(height) {}  
  
    // public成员函数  
    int getArea() const { return width_ * height_; }  
  
private:  
    // private数据成员  
    int width_;  
    int height_;  
  
protected:  
    // 在这个例子中,没有使用protected成员,但你可以根据需要添加  
    // 例如,如果你想让派生类能够访问或修改某个数据成员  
};  
  
int main() {  
    Rectangle rect(5, 10);  
    std::cout << "Area: " << rect.getArea() << std::endl; // 正确:访问public成员函数  
    // std::cout << rect.width_ << std::endl; // 错误:无法访问private数据成员  
    return 0;  
}

在这个例子中,Rectangle类有一个public构造函数和两个private数据成员(width_和height_),以及一个public成员函数(getArea)来计算并返回矩形的面积。注意,尽管我们可以在类外部创建Rectangle对象并调用其public成员函数,但我们无法直接访问其private数据成员。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值