特定のスレから特定の検索語、日付、ID等で該当するレスを抽出するプログラムを作ろうとおもっています。

スレに対応するdatファイルを引数として受けるクラスを作成し、そのクラスの中で

uint SearchWord()
uint SearchDate()
uint SearchID()

といったメソッドを定義し、おのおののメソッドがスレを1番から1000番まで通しで検索、
その結果条件に該当するレスナンバーを返し、最後に全てのメソッドが返したレスナンバーの
ORを取れば全ての条件を満たすレスナンバーが抽出できるという算段です。

おそらくこれがもっとも直感的な方法かと思いますがC++が持つクラスの機能等を使って
より洗練された拡張性のあるプログラムにすることは可能でしょうか?
プロ級のみなさんでしたらどういうプログラム構造にするか教えて頂けないでしょうか?