En POO . .cuando instancias un objeto parte con todo según la instancia del objeto definas ...
Cuando propagas un objeto por una sesión (como hace este ejemplo) .. se "pierden" los métodos .. por eso se incluye siempre la classe (el código de esta) .. Lo que no debes es "instanciar" (el new ...) otra vez si ya tu sesión trae los datos que maneja el objeto.
Quedaría algo tipo:
Código PHP:
<?
// incluyes el objeto .. (classe)
include("Clase_carrito.php");
// Inicias el uso de sesiones (insprescindible en todo script que acceda a $_SESION)
session_start();
// Verificas si tu sesión éxiste . .si no existe instancias el objeto . .si existe lo usas ...
if (isset($_SESSION['carrito'])){
$_SESSION["ocarrito"] = new carrito_compras ();
}
$_SESSION["ocarrito"]->introduce_producto($_GET["id"],$_GET["nombre"], $_GET["precio"]);
$_SESSION["ocarrito"]->imprime_carrito();
?>
Un saludo,