  In this paper, we obtain a class of irreducible Virasoro modules by taking
tensor products of the irreducible Virasoro modules $\Omega(\lambda,b)$ defined
in [LZ], with irreducible highest weight modules $V(\theta,h)$ or with
irreducible Virasoro modules Ind$_{\theta}(N)$ defined in [MZ2]. We determine
the necessary and sufficient conditions for two such irreducible tensor
products to be isomorphic. Then we prove that the tensor product of
$\Omega(\lambda,b)$ with a classical Whittaker module is isomorphic to the
module $\mathrm{Ind}_{\theta,\lambda}(\mathbb{C_\mathbf{m}})$ defined in [MW].
As a by-product we obtain the necessary and sufficient conditions for the
module $\mathrm{Ind}_{\theta, \lambda}(\mathbb{C_\mathbf{m}})$ to be
irreducible. We also generalize the module $\mathrm{Ind}_{\theta,
\lambda}(\mathbb{C_\mathbf{m}})$ to
$\mathrm{Ind}_{\theta,\lambda}(\mathcal{B}^{(n)}_{\mathbf{s}})$ for any
non-negative integer $ n$ and use the above results to completely determine
when the modules
$\mathrm{Ind}_{\theta,\lambda}(\mathcal{B}^{(n)}_{\mathbf{s}})$ are
irreducible. The submodules of
$\mathrm{Ind}_{\theta,\lambda}(\mathcal{B}^{(n)}_{\mathbf{s}})$ are studied and
an open problem in [GLZ] is solved. Feigin-Fuchs' Theorem on singular vectors
of Verma modules over the Virasoro algebra is crucial to our proofs in this
paper.
