HiroLab

プログラミングに関する情報発信サイト。

C++

【C++】Day 9:クラスとオブジェクト

投稿日:

Day 9では、クラスとオブジェクトについて学習します。

以下にそれぞれの内容を詳細に説明し、例題と演習問題を提示します。

 

クラスとオブジェクトの内容:

 

1. クラス:
– クラスはオブジェクトの設計図であり、オブジェクトを作成するためのテンプレートです。
– クラスは、オブジェクトが持つべきデータ(メンバ変数)と操作(メンバ関数)を定義します。
– クラスの定義は、`class` キーワードを使い、クラス名と中括弧 `{}` で囲まれたメンバ変数とメンバ関数の定義から構成されます。

 

2. オブジェクト:
– オブジェクトは、クラスのインスタンスです。クラスからオブジェクトを作成することをインスタンス化と呼びます。
– オブジェクトは、クラスの定義に基づいて作成され、そのクラスが持つメンバ変数とメンバ関数にアクセスできます。

 

3. メンバ変数:
– メンバ変数は、クラス内で宣言される変数で、オブジェクトが持つデータを表します。
– メンバ変数はクラス内のどこでもアクセスできます。

 

4. メンバ関数:
– メンバ関数は、クラス内で宣言される関数で、オブジェクトが持つ操作を定義します。
– メンバ関数は、クラス内のメンバ変数にアクセスできます。

 

例題:

#include <iostream>

// Rectangleクラスの定義
class Rectangle {
public:
double width;
double height;

// 面積を計算するメソッド
double calculateArea() {
return width * height;
}
};

int main() {
// Rectangleクラスから2つのオブジェクトを作成
Rectangle rect1, rect2;

// オブジェクトのメンバ変数に値を代入
rect1.width = 5.0;
rect1.height = 3.0;

rect2.width = 4.0;
rect2.height = 2.5;

// オブジェクトのメソッドを呼び出して面積を計算
double area1 = rect1.calculateArea();
double area2 = rect2.calculateArea();

std::cout << "Area of rect1: " << area1 << std::endl;
std::cout << "Area of rect2: " << area2 << std::endl;

return 0;
}

 

演習問題:

1. Pointクラスを定義してください。このクラスには、x座標とy座標を表すメンバ変数が含まれるようにしてください。また、Pointクラスに2つの座標を受け取って距離を計算するメソッドを追加してください。その後、2つの座標を入力として受け取り、距離を計算して表示するプログラムを作成してください。

2. 学生(Student)クラスを定義してください。このクラスには、学生の名前と成績を表すメンバ変数が含まれるようにしてください。また、成績を設定するメソッドと成績を表示するメソッドを追加してください。その後、学生の名前と成績を入力として受け取り、成績を設定して表示するプログラムを作成してください。

これらの例題と演習問題を解くことで、クラスとオブジェクトの使い方を理解し、メンバ変数とメンバ関数を操作してプログラムを作成するスキルを向上させることができます。問題を解いたら、プログラムが正しく動作しているかどうかを確認してみてください。

-C++
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【C++】Day 18:マルチスレッドプログラミングの基礎

Day 18では、マルチスレッドプログラミングの基礎について学習します。 マルチスレッドプログラミングは、複数のスレッドを使用してプログラムを並行して実行することを意味します。各スレッドは独立して動作 …

【C++】Day 16:C++のラムダ式とSTLアルゴリズム

Day 16では、C++のラムダ式とSTLアルゴリズムについて学習します。 ラムダ式は、簡単な関数をインラインで定義する方法であり、STLアルゴリズムは標準ライブラリのアルゴリズム関数です。 以下にそ …

【C++】Day 23:ネットワークプログラミングの応用

Day 23では、ネットワークプログラミングの応用について学習します。 ネットワークプログラミングは、クライアントとサーバーの間でデータを送受信するだけでなく、さまざまな応用があります。 以下にネット …

【C++】Day 14:C++における文字列操作

Day 14では、C++における文字列操作について学習します。 C++では標準ライブラリである`<string>`を使用して、文字列を操作することができます。 以下に文字列操作の主な内容と …

【C++】Day 12:C++の標準ライブラリの使用

Day 12では、C++の標準ライブラリの使用について学習します。 C++の標準ライブラリは、様々な便利な関数やコンテナ、アルゴリズムなどを提供しており、プログラムの記述を簡単にしたり、高度な機能を利 …