#include <cstdio>
#include <iostream>
#include "String.h"

using namespace std;

int main()
{
	// Llama al constructor de conversion. Equivale a String s1 = String("Hola mundo");
	String s1 = "Hola mundo";

	// Llama al constructor por defecto
	String s2;

	// Llama al operador de asignacion
	s2 = s1;

	// Verifica el contenido de cada objeto
	std::cout << s1 << endl;
	std::cout << s2 << endl;

	// Concatena un String con el operador +
	// El String temporal resultado de filename + ".idx" se envia como primer parametro de
	// fopen(const char*, const char*), es decir, un objeto String esta en un contexto
	// donde se requiere un const char*, el operador de conversion es invocado entonces
	String filename = "horoscopo.txt";
	FILE* index = fopen(filename + ".idx", "r");
	if ( ! index )
		cerr << "No se pudo abrir " << (filename + ".idx") << endl;
	else
		fclose(index);

	return 0;
}
