C++,基本类的定义
在C++中,类是一种用户自定义的数据类型,它将数据(成员变量)和操作这些数据的函数(成员函数)封装在一起,从而实现数据的隐藏和模块化设计。以下是关于C++类定义的详细介绍:
基本语法
类的定义以关键字 class 开头,后面跟着类的名称,类的主体用花括号 {} 括起来,最后以分号 ; 结束。基本结构如下:
class ClassName {
// 访问修饰符
access_specifier:
// 成员变量
data_type member_variable;
// 成员函数
return_type member_function(parameters);
};
其中,access_specifier 可以是 private、public 或 protected,用于控制成员的访问权限:
private:成员只能在类的内部访问,这是类成员的默认访问级别。public:成员可以在类的外部通过对象访问。protected:成员可以在类的内部以及派生类中访问。
示例代码
下面是一个简单的 Person 类的定义,包含姓名和年龄两个成员变量,以及设置和获取这些信息的成员函数:
#include <iostream>
#include <string>
class Person {
private:
// 私有成员变量,只能在类的内部访问
std::string name;
int age;
public:
// 构造函数,用于初始化对象
Person(const std::string& n, int a) : name(n), age(a) {}
// 公有成员函数,用于设置姓名
void setName(const std::string& n) {
name = n;
}
// 公有成员函数,用于设置年龄
void setAge(int a) {
age = a;
}
// 公有成员函数,用于获取姓名
std::string getName() const {
return name;
}
// 公有成员函数,用于获取年龄
int getAge() const {
return age;
}
// 公有成员函数,用于显示信息
void displayInfo() const {
std::cout << "Name: " << name << ", Age: " << age << std::endl;
}
};
int main() {
// 创建 Person 类的对象
Person person("Alice", 25);
// 调用成员函数显示信息
person.displayInfo();
// 调用成员函数修改信息
person.setName("Bob");
person.setAge(30);
// 再次调用成员函数显示信息
person.displayInfo();
return 0;
}
代码解释
- 类的定义:定义了一个名为
Person的类,包含两个私有成员变量name和age,以及多个公有成员函数。 - 构造函数:
Person(const std::string& n, int a) : name(n), age(a) {}是构造函数,用于在创建对象时初始化成员变量。 - 成员函数: setName 和 setAge 函数用于设置成员变量的值。getName 和 getAge 函数用于获取成员变量的值。displayInfo 函数用于显示对象的信息。
- 对象的创建和使用:在
main函数中,创建了一个Person类的对象person,并调用其成员函数进行信息的显示和修改。
其他要点
- 析构函数:析构函数用于在对象销毁时进行资源的清理工作,名称为类名前加上波浪号
~,例如~Person()。 - 成员函数的外部定义:成员函数可以在类的外部定义,使用作用域解析运算符
::,例如:
void Person::setName(const std::string& n) {
name = n;
}
- 静态成员:可以定义静态成员变量和静态成员函数,它们属于类本身,而不是类的某个对象。静态成员变量需要在类外进行初始化。
考研机试常用的数据结构 文章被收录于专栏
考研机试常用的数据结构
阿里云工作强度 731人发布