-
C++樹林
【C++/C言語】typedef とは?既存のデータ型に別名を付けて分かりやすくする方法
はじめに C++やC言語でプログラミングをしていると、unsigned long long int のように、データ型名が非常に長くなってしまうことがあります。また、「年齢」を格納する int と、「ID」を格納する int のように、同じデータ型でもプログラム内での「意味」... -
C++樹林
【C++】子クラスから、オーバーライドされた親クラスのメンバ関数を呼び出す方法
はじめに C++の継承において、子クラス(派生クラス)で親クラス(基底クラス)のメンバ関数をオーバーライドすると、子クラスのオブジェクトからは、デフォルトで子クラス側の関数が呼び出されます。 しかし、時には「子クラス独自の処理に加えて、親クラ... -
C++樹林
【C++】継承したメンバ関数をオーバーライドする方法とvirtualキーワードの役割
はじめに C++の継承では、子クラス(派生クラス)は親クラス(基底クラス)の機能を引き継ぎます。しかし、時には「親クラスの機能の一部を、子クラス独自の振る舞いに**上書き(変更)**したい」という場面があります。 このように、親クラスから継承した... -
C++樹林
Pythonで数当てゲームを作ろう:初心者向けプロジェクトで学ぶ基本
プログラミングの学習は、実際に何かを作りながら進めるのが一番効果的です。この記事では、Pythonの基本的な構文(変数、ループ、条件分岐)をすべて使って、シンプルな数当てゲームを作成します。 このプロジェクトを通して、複数の知識を組み合わせ、一... -
Python樹林
Python入門:try-exceptでエラーを適切に処理する方法
プログラムを書いていると、ユーザーの入力ミスや予期せぬデータの値によって、プログラムが突然停止(クラッシュ)してしまうことがあります。例えば、ゼロによる割り算は数学的に定義されていないため、PythonではZeroDivisionErrorというエラーが発生し... -
Python樹林
Pythonのglobal文:関数からグローバル変数を変更する方法
Pythonの変数スコープについて学ぶと、関数の中からグローバル変数の値を読み取ることはできるものの、直接変更することはできない、というルールがあることを知ります。しかし、どうしても関数の中からグローバル変数を変更したい場面が出てくることがあ... -
Python樹林
Pythonの変数スコープ入門:ローカル変数とグローバル変数の違いを理解する
Pythonでプログラミングをしていると、「この変数はどこからアクセスできて、どこからはできないのか」という有効範囲の問題に直面します。この変数が有効な範囲のことをスコープと呼びます。 スコープのルールを正しく理解することは、予期せぬエラーを防... -
Python樹林
Python関数の基本:return文と戻り値の使い方を理解する
Pythonで関数を学ぶと、print()で画面に文字を表示するだけでなく、関数が計算した結果を「手元に返して」ほしい場面が多くあります。例えば、計算結果を変数に保存したり、別の関数の引数として使ったりする場合です。 このように、関数から呼び出し元へ... -
Python樹林
Python入門:関数(def)と引数でコードを効率化する
プログラミングでは、何度も繰り返される特定の処理を一つのまとまりとして定義することで、コードを整理し、再利用性を高めることができます。この「処理のまとまり」が関数です。 この記事では、Pythonで関数を定義するための**def文と、関数の柔軟性を... -
C++樹林
【C++】ソースファイルの分割方法 | ヘッダーファイル(.h)とソースファイル(.cpp)の役割
はじめに C++でプログラムが大きくなってくると、全てのコードを一つのmain.cppファイルに記述するのは非効率で、管理も大変になります。オブジェクト指向プログラミングでは、クラスや関連する関数を、機能ごとにファイルに分割するのが一般的です。 この... -
C++樹林
【C++】new[]とdelete[]で動的配列を確保・解放する方法
はじめに C++で配列を宣言する際、int data[10]; のように、そのサイズは通常、プログラムを書く時点(コンパイル時)で決まっている必要があります。しかし、プログラムを実行し、ユーザーからの入力を受け取るまで、配列の大きさが分からないという場面... -
未分類
三菱電機 FREQUPS(FW-S系)で「BYPASS(オレンジ)」点灯時の原因と復旧手順
概要 三菱電機 FREQUPS(FW-S 系)で前面表示の「BYPASS」がオレンジ点灯している場合、UPS のインバータを介さずに商用電源をそのまま負荷へ供給する「バイパス運転」中です。バイパス運転では停電時にバッテリ給電へ自動切替されないため、重要負荷があ... -
C++樹林
【C++】newとdeleteで動的なメモリ確保・解放を行う方法
はじめに C++で変数を宣言すると、通常、その変数は関数が終了すると同時にメモリ上から消滅します。しかし、プログラムの実行中に「必要な時に必要な分だけ、メモリを確保したい」という場面があります。 このような、プログラムの実行時(ランタイム)に... -
C++樹林
【C++】変数の記録寿命(スコープとライフタイム)を理解する static の使い方
はじめに C++の変数は、宣言された場所(スコープ)だけでなく、その値がメモリ上にどれくらいの期間存在し続けるかという「記録寿命(ライフタイム)」の概念を持っています。 例えば、関数の中で宣言された通常の変数は、関数が終了すると同時に消滅しま... -
C++樹林
【C++】変数のスコープとは?グローバル変数とローカル変数の違いを解説
はじめに C++プログラミングにおいて、変数を宣言する「場所」は非常に重要です。なぜなら、変数が宣言された場所によって、その変数がプログラムのどこからアクセスできるかという有効範囲が決まるからです。この有効範囲のことを「スコープ (scope)」と... -
未分類
【C++/C言語】文字列のコピー(strcpy)と連結(strcat)を行う方法
はじめに C++やC言語で、char配列で表現されるC言語スタイルの文字列を扱う際、 = で代入したり + で連結したりすることはできません。これらの操作には、標準ライブラリ <cstring>(C言語では <string.h>)で提供されている専用の関数を使う... -
C++樹林
【C++】継承におけるコンストラクタとデストラクタの呼び出し方を完全解説
はじめに C++の継承では、子クラスのオブジェクトが作られるとき、まず親クラスの部分が作られ、その後に子クラスの部分が作られます。この構築プロセスを制御するのがコンストラクタです。逆に、オブジェクトが破棄されるときは、子クラスの部分が先に片... -
C++樹林
【C++】継承におけるコンストラクタとデストラクタの呼び出し順序
はじめに C++の継承において、コンストラクタとデストラクタは子クラスに継承されません。これらは、そのクラスのオブジェクトが生成・破棄される際の固有の処理であるため、各クラスが自身のものを持つ必要があります。 しかし、子クラスのオブジェクトが... -
C++樹林
【C++】オブジェクト指向における「汎化」と「継承」の関係を解説
はじめに オブジェクト指向設計の初期段階では、システムに必要な「モノ」をクラスとして洗い出していきます。その過程で、複数の異なるクラスが、実は多くの共通した性質(データや操作)を持っていることに気づくことがあります。 この、「複数のクラス... -
Python樹林
Pythonプログラムを任意のタイミングで終了させるsys.exit()の使い方
Pythonプログラムを作成していると、エラーが発生した場合や、ユーザーが特定の操作を行った場合など、コードの途中で処理を完全に停止させたい場面があります。 break文がループを抜けるために使われるのに対し、プログラムそのものを終了させるための標... -
Python樹林
Pythonの機能を拡張する import文の基本とモジュールの使い方
Pythonの大きな魅力の一つは、その豊富な「モジュール」にあります。モジュールとは、便利な関数やクラスなどが詰まった、いわば「道具箱」のようなものです。標準で用意されているものや、後から追加できるものなど、世界中の開発者が作った便利な機能を... -
Python樹林
Python入門:forループとrange()関数で繰り返し処理をマスターしよう
プログラミングでは、「決まった回数だけ処理を繰り返す」という操作が頻繁に登場します。Pythonでは、このような繰り返し処理を**forループとrange()関数**を組み合わせることで、非常にシンプルかつ直感的に記述できます。 この記事では、forループの基... -
Python樹林
Pythonループ制御:continue文で現在の処理をスキップする方法
Pythonでループ処理を実装していると、「特定の条件のときだけ、その回の処理をスキップして、次の繰り返しに進みたい」という状況があります。ループ全体を中断するbreak文とは異なり、現在の回だけを飛ばしたい場合に役立つのが**continue文**です。 こ... -
Python樹林
Pythonのループを中断する break文の基本的な使い方
Pythonでwhileループなどの繰り返し処理を書いていると、「特定の条件が満たされたら、ループの途中でもすぐに処理を抜けたい」という場面が出てきます。 この記事では、そのような場合に役立つ**break文**の基本的な使い方について、具体的なコードを交え... -
Python樹林
Python初心者向け:繰り返し処理の基本 while ループの使い方
プログラミングでは、同じ処理を何度も繰り返したい場面がよくあります。例えば、リストの項目を一つずつ処理したり、特定の条件が満たされるまでユーザーからの入力を待ち受けたりする場合です。 この記事では、Pythonにおける繰り返し処理の基本である**... -
Python樹林
Python初心者向け:if文で学ぶ条件分岐の基本とブール型の使い方
Pythonを学び始めると、特定の条件によってプログラムの動きを変えたい場面が多くあります。例えば、「もしユーザーがログインしていたら、マイページを表示する」「もしスコアが100点だったら、お祝いのメッセージを出す」といった具合です。 この記事で... -
C++樹林
【C++】継承で使う protected とは?public / private との違いを解説
はじめに C++のクラスには、メンバへのアクセスを制御するための3つのアクセス指定子があります。 public: 誰でもアクセス可能(公開) private: そのクラスの内部からのみアクセス可能(非公開) protected: そのクラスの内部、およびそのクラスを継承し... -
C++樹林
【C++】クラスの継承入門 | 既存のクラスを再利用して新しいクラスを作る方法
はじめに オブジェクト指向プログラミングの三本柱の一つである「継承 (Inheritance)」は、既にあるクラスの機能(メンバ変数やメンバ関数)を受け継いで、新しいクラスを定義するための強力な仕組みです。 例えば、「乗り物」という基本的なクラスがあれ... -
C++樹林
【C++】デストラクタとは?オブジェクトが消滅する時の自動後片付け処理
はじめに C++のコンストラクタが、オブジェクトが「生まれる」瞬間に自動で呼ばれる初期化処理であるのに対し、「デストラクタ (Destructor)」は、オブジェクトがメモリ上から「消滅する」直前に自動で呼び出される、後片付けのための特別なメンバ関数です... -
C++樹林
【C++】コンストラクタのオーバーロード入門 | オブジェクトの作り方を複数用意する方法
はじめに C++のコンストラクタは、オブジェクトが生成される際に自動で呼び出され、メンバ変数の初期化を行います。通常の関数と同様に、この**コンストラクタもオーバーロード(overload)**することが可能です。 コンストラクタをオーバーロードすること...