21xrx.com
2025-04-16 17:08:15 Wednesday
文章检索 我的文章 写文章
C++中如何定义类而不是声明类
2023-07-04 03:46:53 深夜i     19     0
C++ 定义类 声明类 类成员 访问权限

在C++中,定义一个类是通过在头文件和源文件中定义类的成员函数和成员变量来实现的,而不仅仅是声明类。下面是一个简单的示例:

在一个header文件中定义类的框架:

class MyClass {
private:
  int m_iData;
  void privateMethod();
public:
  MyClass();
  ~MyClass();
  void publicMethod();
};

接下来,在主要的源文件中,定义类的构造函数和析构函数:

MyClass::MyClass()
  m_iData = 0;
MyClass::~MyClass()
  // do any necessary cleanup here

最后,在源文件中定义类的其他成员函数:

void MyClass::privateMethod()
  // do some private work
void MyClass::publicMethod()
  // do some public work

通过这种方式,我们可以将类的定义分散在多个文件中,同时也可以在每个类的成员函数和变量中添加适当的注释来提高代码的可读性和可维护性。

注意,如果在头文件中定义类的成员函数的实现,则应该将这些函数的实现标记为inline。这是因为在C++中,inline函数的定义必须在每个使用该函数的源文件中都可见,否则会导致链接错误。

在头文件中定义类的成员变量是可能的,但是不推荐这样做,因为头文件应该只包含类的声明和函数原型,如果将变量的定义放在头文件中,则会导致多个文件中的多个定义。在这种情况下,应该将变量定义在实现源文件中,并将其标记为static。这将确保该变量仅在源文件中可见,并可用于实现类的成员函数。

  
  

评论区