In device-to-device (D2D) networks, co-channel interference is one of the main reasons that causes high power consumption, which further reduces the life time of mobile devices. In this paper, we adopt the superposition coding between macro and D2D users, which is expected to effectively eliminate the co-channel interference. In particular, we develop two power allocation methods to minimize the power consumption in cooperative and non-cooperative modes, respectively. Then, we use mode selection to obtain the minimum overall power consumption of the whole system. In power allocation, we model the average power consumption as a function of channel gain, power allocation factor, transmission rate, and noise power. Then, we obtain the close-form solution. Our results indicate that the proposed method outperforms the conventional non-cooperative methods in terms of power consumption, outage probability, and energy efficiency.