Es que no tenes que hacer asi. Intenta haciendo esto:
Código PHP:
<?php
if(isset($_SESSION["carro"]) && $_SESSION["carro"]!=''){
$carrito = unserialize($_SESSION["carro"]);
}else{
$carrito = new carrito;
}?>
Esto para setar el objeto. Despues, para agregar, suponiendo que el metodo es add_item, y que estas mandando por post el item, haces esto:
Código PHP:
<?php
if($_POST["accion"]=='add'){
$carrito->add_item(intval($_POST["miItem"]),intval($_POST["cantidad"]));
$_SESSION["carro"] = serialize($carrito);
echo "<script>window.location = 'estapagina.php'</script>"; //para no dejar la pagina con el metodo post enviado
}?>
Y lo mismo para todos los metodos que tengas de la classe.