1. por el momento no he pensado en ventajas (soy muy amante de c++), pero lo que mucho me molesta es la super velocidad que tiene

en general Matlab esta hecho en Java, y por eso es lento, note que es hecho por Java por el hecho de que una vez interpreto mal un script y aparecio en el cajon de mensajes full errores los cuales entre linea tenian la palabra Java...inclusive hay un chiste asi:
-Puc Puc...
Quien Es?
-silencio por un momento
Java
-Puc Puc...
Quien Es?
-C++
-Puc Puc...
-Assembler
o sea se refiere a la velocidad

2. la simple creacion de objectos compuestos por muchas variables (creacion de propias variables) es algo que ahorra mucho tiempo al momento de programar, imaginar programacion sin clases seria un caos...aunque la POO no es de lo mas facil, lo basico resulta facil, pero para cosas mas complicadas hay que usar un poco mas de ingenio y leer mucho...
lo que mas me ha gustado sobre la POO pero en C++ fue el uso de templates con classes. para los que no saben lo que es, podria explicarlo como tener una varible que puede ser int, float, char, etc sin declaracion de varias varibles, sino una misma que puede ser cualquier tipo.
un ejemplo:
template <class T>
class mypair {
T values [2];
public:
mypair (T first, T second)
{
values[0]=first; values[1]=second;
}
};
y para crear los diferentes tipos pues se lo hace de esta forma:
mypair<int> myobject (115, 36);
mypair<double> myfloats (3.0, 2.18);
en general este codigo lo acabo de tomar de aqui:
http://www.cplusplus.com/doc/tutorial/templates/porque la verdad es que como dije es lo que mas me gusto, pero no lo que mas utilizo, lo use creo que 2-4 veces y no lo he vuelto a ver

asi que lo tome de esa pagina para no cometer errores con templates

asi que en general la POO es algo muy poderoso con muchas opciones de programacion, como la de templates, Nota: templates tambien se pueden usar sin clases en funciones, en el link que les di arriba hay un codigo que lo muestra
