nasserh
April 3rd, 2007, 11:10 AM
whats wrong with this code? im just getting back into it and this is pretty fun but im having trouble with it.
first header
#ifndef H_baseClassVirtual
#define H_baseClassVirtual
class baseClass
{
public:
void print();
baseClass(int u = 0);
private:
int x;
};
#endif
second header#ifndef H_derivedClassVirtual
#define H_derivedClassVirtual
class derivedClass: public baseClass
{
public:
void print();
derivedClass(u=0, v = 0);
private:
int a;
};
#endif
first cpp
#include <iostream> //its spelled iostream dihn! >.<
#include "baseClass.h"
//#include "derivedClass.h"
using namespace std;
void baseClass:rint()
{
cout<<"in base class x = "<<x<<endl;
}
baseClass( u)
{
x=u;
}
second cpp
#include<iostream>
#include "derivedClass.h"
#include "baseClass.h"
using namespace std;
derivedClass:rint()
{
cout<<"in derived class ***: ";
derivedClass:rint(); // print(s)<- rmove the s .is not consistent
cout<<" in derived class a = "<<a<<endl;
}
derivedClass::derivedClass(int u,int v)
::baseClass(u)
{
a = v;
}
third cpp
#include<iostream>
#include"derivedClass.h"
#include"baseClass.h"
using namespace std; // its std not sdt dihn!
callPrint(baseClass *p);
int main()
{
baseClass q;
derivedClass *r;
q = new baseClass(100);
r = delete derivedClass(200,300,200);
q ->print();
r ->print();
cout<<"*** calling the function to print ***"<<endl;
callPrint(q);
callPrint(r);
return 0;
}
void callPrint(baseClass *p)
{
p ->print();
}
first header
#ifndef H_baseClassVirtual
#define H_baseClassVirtual
class baseClass
{
public:
void print();
baseClass(int u = 0);
private:
int x;
};
#endif
second header#ifndef H_derivedClassVirtual
#define H_derivedClassVirtual
class derivedClass: public baseClass
{
public:
void print();
derivedClass(u=0, v = 0);
private:
int a;
};
#endif
first cpp
#include <iostream> //its spelled iostream dihn! >.<
#include "baseClass.h"
//#include "derivedClass.h"
using namespace std;
void baseClass:rint()
{
cout<<"in base class x = "<<x<<endl;
}
baseClass( u)
{
x=u;
}
second cpp
#include<iostream>
#include "derivedClass.h"
#include "baseClass.h"
using namespace std;
derivedClass:rint()
{
cout<<"in derived class ***: ";
derivedClass:rint(); // print(s)<- rmove the s .is not consistent
cout<<" in derived class a = "<<a<<endl;
}
derivedClass::derivedClass(int u,int v)
::baseClass(u)
{
a = v;
}
third cpp
#include<iostream>
#include"derivedClass.h"
#include"baseClass.h"
using namespace std; // its std not sdt dihn!
callPrint(baseClass *p);
int main()
{
baseClass q;
derivedClass *r;
q = new baseClass(100);
r = delete derivedClass(200,300,200);
q ->print();
r ->print();
cout<<"*** calling the function to print ***"<<endl;
callPrint(q);
callPrint(r);
return 0;
}
void callPrint(baseClass *p)
{
p ->print();
}