C++でクラスを定義する方法


まず、クラスの定義は通常ヘッダーファイル(.h)とソースファイル(.cpp)の2つのファイルに分けて行われます。ヘッダーファイルにはクラスの宣言が含まれ、ソースファイルには具体的な実装が含まれます。

以下は、"Person"という名前のクラスを定義する例です。

Person.h

#ifndef PERSON_H
#define PERSON_H
class Person {
private:
    std::string name;
    int age;
public:
    Person(std::string name, int age); // コンストラクタ
    std::string getName();
    int getAge();
    void setName(std::string name);
    void setAge(int age);
};
#endif

Person.cpp

#include "Person.h"
Person::Person(std::string name, int age) {
    this->name = name;
    this->age = age;
}
std::string Person::getName() {
    return name;
}
int Person::getAge() {
    return age;
}
void Person::setName(std::string name) {
    this->name = name;
}
void Person::setAge(int age) {
    this->age = age;
}

上記の例では、"Person"クラスが名前と年齢のデータメンバを持ち、それぞれのゲッターとセッターを提供しています。また、コンストラクタも定義されており、オブジェクトを初期化する際に使用されます。

このクラスを使用するためには、メインのソースファイルでインスタンス化(オブジェクトの作成)し、メンバ関数を呼び出す必要があります。以下は、"main.cpp"という名前のファイルでPersonクラスの利用例です。

main.cpp

#include "Person.h"
int main() {
    Person person("John Doe", 25);
    std::cout << "Name: " << person.getName() << std::endl;
    std::cout << "Age: " << person.getAge() << std::endl;
    person.setName("Jane Smith");
    person.setAge(30);
    std::cout << "Updated Name: " << person.getName() << std::endl;
    std::cout << "Updated Age: " << person.getAge() << std::endl;
    return 0;
}

上記の例では、"Person"クラスのインスタンスを作成し、その名前と年齢を表示します。また、名前と年齢を更新して再度表示する例も含まれています。

以上がC++でクラスを定義する基本的な方法とコード例です。クラスはオブジェクト指向プログラミングの重要な概念であり、より複雑なプログラムの設計や実装において役立つものです。