MST

星途 面试题库

面试题:C++ 类声明与实现分离如何提升代码可读性

请详细阐述在C++中,将类的声明与实现分离,是从哪些方面提升了代码的可读性,并举一个简单的类示例说明(分别写出声明和实现的代码)。
34.7万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
  1. 提升代码可读性的方面

    • 职责清晰:声明部分主要定义类的接口,也就是对外提供的功能,让使用者能快速了解类能做什么。实现部分专注于具体功能的代码实现,这种分离使代码结构更清晰,不同职责一目了然。例如在一个图形绘制类中,声明中定义了draw()等绘图接口函数,使用者无需关心绘制细节,而实现部分则具体实现这些绘图逻辑。
    • 便于浏览:当代码量较大时,阅读声明部分就可掌握类的整体功能,而无需在冗长的实现代码中查找关键信息。如果需要深入了解某个功能的实现,再去查看实现文件。就像阅读一个复杂游戏开发中的角色类,先看声明知道角色有移动、攻击等功能,再看实现了解具体移动和攻击的算法。
    • 维护性增强:如果需要修改类的实现细节,不会影响到使用该类的其他代码,因为声明不变,其他代码调用接口的方式不变。比如修改一个文件读取类的具体读取算法,只要声明的接口readFile()等不变,其他调用该类读取文件的代码无需修改。
  2. 类示例

    • 类的声明(假设在MyClass.h文件中)
// MyClass.h
#ifndef MYCLASS_H
#define MYCLASS_H

class MyClass {
public:
    MyClass(int value);
    int getValue();
    void setValue(int newVal);
private:
    int data;
};

#endif
  • 类的实现(假设在MyClass.cpp文件中)
// MyClass.cpp
#include "MyClass.h"

MyClass::MyClass(int value) {
    data = value;
}

int MyClass::getValue() {
    return data;
}

void MyClass::setValue(int newVal) {
    data = newVal;
}