Estamos en Abril, así que creo que hay que darle rienda suelta a la investigación y desarrollo de malware (no se si se hará el Abril Negro este año, pero igual, este es el mes). No obstante me parece un poco tonto el topic, sin ofender, paso a explicarme:
C++ no es un lenguaje complicado pero tampoco es tan flexible. Eso supone que, si sabes qué debe hacer un virus, entonces no será problema hacerlo en C++, mientras que, si en realidad sabes lo que debe hacer, jamás escogerías C++ (a mi criterio, y no pueden evaluarlo como absoluto).
Un virus tiene una característica que lo hace virus: Ser capaz de usar a su huesped para reproducirse. Eso lo hace virósico, cualquier alteración de este comportamiento hace que no sea un virus.
En fin, debe ser la fiel representación de un organismo vivo, tu creación maestra. Es por eso que consideramos que la creación de un virus es un arte, porque conlleva mucho trabajo en su diseño. Pero quitas estos propósitos nobles si solo deseas un programa molesto que se replique escrito en C++, y que probablemente sea un gusano en lugar de un virus.
Un BUEN virus debe ser un "micro" organismo, en una forma primitiva, que use los pequeños defectos a bajo nivel (justo como los virus reales) para introducirse en el sistema y corromperlo, de manera que le sea de provecho.
Echale un ojo al gran libro negro de los virus de computadora:
http://vxheavens.com/lib/vml01.html