
在C++中,class 是面向对象编程的核心概念之一。它允许我们将数据和操作这些数据的函数封装在一起,形成一个独立的单元。理解 class 的基本用法是学习 C++ 面向对象编程的第一步。
什么是class?class 可以看作是一种用户自定义的数据类型,用来描述具有相同属性和行为的一类事物。比如“学生”可以是一个类,每个学生有姓名、年龄等属性,还有学习、考试等行为。
定义一个 class 使用 class 关键字,后面跟类名,再用花括号包含成员变量和成员函数,最后以分号结束。
class Student {
public:
std::string name;
int age;
<pre class='brush:php;toolbar:false;'>void study() {
std::cout << name << " is studying.\n";
} };
上面代码定义了一个名为 Student 的类,包含两个成员变量(name 和 age)以及一个成员函数 study()。public 表示这些成员可以被外部访问。
如何创建和使用对象?类只是一个模板,要使用它必须创建具体的对象(也叫实例)。创建对象的方式类似于声明变量。
Student s1; s1.name = "Alice"; s1.age = 20; s1.study();
这段代码创建了一个 Student 类的对象 s1,并为其成员赋值,然后调用它的 study() 函数。输出结果为:
"Alice is studying."
也可以在栈上定义多个对象,或者使用指针动态创建:
Student* ps = new Student(); ps->name = "Bob"; ps->age = 22; ps->study(); delete ps;构造函数和析构函数
构造函数在对象创建时自动调用,用于初始化成员变量。它名字与类名相同,没有返回类型。
HyperWrite
AI写作助手帮助你创作内容更自信
54
查看详情
class Student {
public:
std::string name;
int age;
<pre class='brush:php;toolbar:false;'>// 构造函数
Student(std::string n, int a) {
name = n;
age = a;
}
void study() {
std::cout << name << " is studying.\n";
} };
使用构造函数创建对象:
Student s("Charlie", 19);
s.study(); // 输出:Charlie is studying.
析构函数在对象销毁时自动调用,用于清理资源,名称前加 ~,如 ~Student() {}。一般用于释放动态分配的内存。
访问控制:public、private、protectedC++ 提供三种访问控制权限来保护类的成员:
- public:任何地方都可以访问
- private:只能在类内部访问(默认情况下 class 的成员是 private)
- protected:类内部和派生类中可访问
通常将数据设为 private,通过 public 的成员函数来访问,实现封装。
class Student {
private:
std::string name;
int age;
<p>public:
void setName(std::string n) {
name = n;
}</p><pre class='brush:php;toolbar:false;'>std::string getName() {
return name;
} };
这样可以防止外部直接修改数据,增强程序的安全性和可维护性。
基本上就这些。掌握 class 的定义、对象创建、构造函数和访问控制,就能开始编写简单的面向对象程序了。不复杂但容易忽略细节,多写几个例子会更清楚。
以上就是c++++中class的基本用法_c++类class基础入门教程的详细内容,更多请关注知识资源分享宝库其它相关文章!
相关标签: 栈 c++ 面向对象编程 数据类型 面向对象 封装 成员变量 成员函数 构造函数 析构函数 指针 数据封装 栈 class public private protected 对象 大家都在看: C++异常处理与堆栈展开机制解析 C++内存管理基础中堆内存和栈内存的区别 C++STL栈stack操作与应用实例 C++栈内存与堆内存区别与应用 C++中栈内存和堆内存的根本区别是什么






发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。