まず、クラスの定義は通常ヘッダーファイル(.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++でクラスを定義する基本的な方法とコード例です。クラスはオブジェクト指向プログラミングの重要な概念であり、より複雑なプログラムの設計や実装において役立つものです。