clase1.h
------------
Código:
clase1.cpp#ifndef CLASE1_H
#define CLASE1_H
#include<string>
using std::string;
class clase1//clase abstracta
{
public:
clase1(string);
virtual ~clase1();
void setMensaje(string);
string getMensaje();
virtual string imprimirMensaje();
private:
string mensaje;
};
#endif //CLASE1_H
-----------------
Código:
clase2.h#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include<iomanip>
using std::setw;
#include"clase1.h"
clase1::clase1(string msj)
{
setMensaje(msj);
}
void clase1::setMensaje(string msj)
{
mensaje = msj;
}
string clase1::getMensaje()
{
return mensaje;
}
string clase1::imprimirMensaje()
{
cout << "El mensaje es: \n" << setw(25) << getMensaje() << "objeto de: clase1" << endl;
}
clase1::~clase1()
{
}
---------------------
Código:
clase2.cpp#ifndef CLASE2_H
#define CLASE2_H
#include<string>
using std::string;
#include"clase1.h"
class clase2 : public clase1
{
public:
clase2(string);
virtual ~clase2();
string imprimirMensaje();
};
#endif //CLASE2_H
--------------------
Código:
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#include<iomanip>
using std::setw;
#include"clase2.h"
clase2::clase2(string msj) : clase1(msj)
{
}
string clase2::imprimirMensaje()
{
cout << "El mensaje es: \n" << setw(25) << getMensaje() << "objeto de: clase2" << endl;
}
clase2::~clase2()
{
}
y finalmente el programa donde creo esta el error:
programa.cpp
--------------------------
Código:
Aclaro este programa es a modo de aprendizaje, en si solo muestra un mensaje, si alguien me puede indicar donde y como corregir el error se lo agradecería mucho, Saludos!! #include"clase2.h"
#include<iostream>
using std::cin;
using std::cout;
int main()
{
clase1 *sistema1Ptr = 0;
clase2 *sistema2Ptr = 0;
clase1 sistema1("HOLA");
sistema1Ptr = &sistema1;
sistema1Ptr->imprimirMensaje();
//sistema1Ptr = 0;
clase2 sistema2("HOLA2");
sistema1Ptr = &sistema2;
sistema1Ptr->imprimirMensaje();
cin.get();
return 0;
}
gracias nuevamente, ahora puedo seguir estudiando en paz jaja
Saludos! 
