21xrx.com
2024-12-22 22:06:10 Sunday
登录
文章检索 我的文章 写文章
C++自定义类的CPP和H文件
2023-07-14 22:36:38 深夜i     --     --
C++ 自定义类 CPP文件 H文件 类定义

C++是一种面向对象的程序设计语言,支持自定义类的创建。在实际的开发中,将一个自定义类分为头文件和源文件两个部分是很常见的做法。这里我们来介绍一下如何在一个C++项目中创建自定义类的.cpp和.h文件。

在C++中,类的.h文件通常包括类的声明和成员变量、成员函数等成员的定义。在一个头文件中只能包含一个类的声明。例如,我们要创建一个名为“Person”的类,其成员变量包括姓名和年龄,成员函数包括打招呼、自我介绍等。那么,Person.h文件可以这样写:


#ifndef PERSON_H

#define PERSON_H

#include <string>

class Person {

public:

  Person();

  Person(std::string name, int age);

  ~Person();

  void sayHello();

  void introduce();

private:

  std::string m_name;

  int m_age;

};

#endif

上面的代码中,我们使用了预处理指令#ifndef和#define来避免重复引用Person.h文件。类的成员变量前面加上了“m_”,这是一种常见的编程风格,有助于区分成员变量和局部变量。另外,我们还用了一个头文件 来使用字符串类型。

Person.cpp文件则需要包括成员函数的定义。例如,我们要在Person.cpp中实现sayHello和introduce函数,代码可以这样写:


#include "Person.h"

#include <iostream>

Person::Person() : m_name(""), m_age(0) {}

Person::Person(std::string name, int age) : m_name(name), m_age(age) {}

Person::~Person() {}

void Person::sayHello()

  std::cout << "Hello

void Person::introduce()

  std::cout << "I am " << m_name << " and I am " << m_age << " years old." << std::endl;

在上述代码中,我们首先包含了Person.h头文件,然后按照类的成员函数的声明,在Person::前加上类名“Person”。我们使用了构造函数和析构函数来初始化和清理对象,使用了std::cout来输出信息。

使用以上的Person类,我们可以在其他的C++文件中使用它。例如,可以这样写:


#include "Person.h"

int main() {

  Person p("Tom", 18);

  p.sayHello();

  p.introduce();

  return 0;

}

上述代码中,我们首先包含了Person.h头文件,然后定义了一个名为p的Person对象,并传入了名称“Tom”和年龄18。我们使用p.sayHello()和p.introduce()函数来输出p对象的相关信息。

总之,在C++中,自定义类的.cpp和.h文件是很重要的,可以帮助我们实现代码的模块化和封装,提高程序的可读性和可维护性。同时,也需要注意一些细节,例如使用#ifndef和#define来避免重复引用,正规命名等。祝愿读者在自定义类的创建中取得成功!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复