C++中定义类需使用class关键字,后跟类名并用大括号包围成员,以分号结束;类包含private、public、protected三种访问控制符,分别限制成员的访问权限;成员函数可在类内实现(默认内联)或类外通过::操作符实现,推荐将声明放在.h文件,实现放在.cpp文件以模块化管理;类可定义构造函数(初始化对象,可重载)和析构函数(清理资源,不可重载);示例展示了含构造函数、成员函数和display方法的Student类,并在main函数中创建对象并调用方法,体现面向对象编程基础。

在C++中定义一个类,需要使用class关键字,后跟类名,并用大括号包围成员变量和成员函数,最后以分号结束。类的定义通常分为两部分:类的声明和成员函数的实现。下面详细介绍类的定义与实现方法。
类的基本定义格式
类的最基本结构如下:
class 类名 {private:
// 私有成员(变量或函数)
public:
// 公有成员(变量或函数)
protected:
// 保护成员(可选)
};
其中,private、public、protected是访问控制符:
- public:成员可以在类外部被访问。
- private:成员只能在类内部访问(默认访问级别)。
- protected:主要用于继承,子类可以访问。
类成员函数的实现方式
成员函数可以在类内直接定义,也可以只在类内声明,实现在类外。
立即学习“C++免费学习笔记(深入)”;
1. 在类内实现(内联函数)
函数体写在类内部,默认为内联函数:
public:
void setName(string name) {
this->name = name;
}
string getName() {
return name;
}
private:
string name;
};
2. 在类外实现
在类中声明函数,在类外通过作用域解析运算符::实现:
public:
void setName(string name);
string getName();
private:
string name;
};
// 类外实现
void Student::setName(string name) {
this->name = name;
}
string Student::getName() {
return name;
}
这种方式更适合复杂函数,也常用于将声明放在头文件(.h),实现放在源文件(.cpp)中,便于模块化管理。
构造函数与析构函数
类可以定义特殊成员函数:
- 构造函数:与类同名,用于初始化对象,可重载。
- 析构函数:名称前加~,用于清理资源,不能重载。
public:
Student() { // 构造函数
name = "Unknown";
}
Student(string n) {
name = n;
}
~Student() { // 析构函数
// 释放资源(如动态内存)
}
private:
string name;
};
完整示例:Student类
下面是一个完整的类定义与使用示例:
#include iostream>#include
using namespace std;
class Student {
public:
Student();
Student(string name, int age);
void display();
private:
string name;
int age;
};
// 构造函数实现
Student::Student() : name("Unknown"), age(0) {}
Student::Student(string name, int age) {
this->name = name;
this->age = age;
}
void Student::display() {
cout }
int main() {
Student s1;
Student s2("Alice", 20);
s1.display();
s2.display();
return 0;
}
基本上就这些。掌握类的定义、访问控制、函数实现位置以及构造析构函数,是C++面向对象编程的基础。实际开发中建议将类声明放在头文件,实现放在.cpp文件中,保持代码清晰。不复杂但容易忽略细节。










