B
BlimeyOReilly
Hi,
I have a problem, any help would be much appreciated.
To simplify it for you I have tried to isolate some code. There is a
base class (class_a) and a derived class (class_b). Not very
intelligent names I know, but bear with me.. My problem is that I would
like to write a constructor for class_b based on an instance of
class_a. I have added the declaration for it, but how do I define
class_b(class_a&) ?????
Cheers
BOR
#define CLASS_A_N 8
class class_a
{
private:
int a;
int* g;
public:
class_a(void): a=0, g(NULL) {}
virtual ~class_a(void)
{
if ( g != NULL )
delete[] g;
}
class_a(class_a& rhs): g(NULL)
{
a = rhs.a;
g = new int[CLASS_A_N];
for ( int i = 0; i < CLASS_A_N; i++)
g = rhs.g;
}
}
class class_b : public class_a
{
private:
int b, c;
public:
class_b(int local_b=0, int local_c=0): b(local_b), c(local_c) {}
~class_b(){};
class_b(class_a&);
}
I have a problem, any help would be much appreciated.
To simplify it for you I have tried to isolate some code. There is a
base class (class_a) and a derived class (class_b). Not very
intelligent names I know, but bear with me.. My problem is that I would
like to write a constructor for class_b based on an instance of
class_a. I have added the declaration for it, but how do I define
class_b(class_a&) ?????
Cheers
BOR
#define CLASS_A_N 8
class class_a
{
private:
int a;
int* g;
public:
class_a(void): a=0, g(NULL) {}
virtual ~class_a(void)
{
if ( g != NULL )
delete[] g;
}
class_a(class_a& rhs): g(NULL)
{
a = rhs.a;
g = new int[CLASS_A_N];
for ( int i = 0; i < CLASS_A_N; i++)
g = rhs.g;
}
}
class class_b : public class_a
{
private:
int b, c;
public:
class_b(int local_b=0, int local_c=0): b(local_b), c(local_c) {}
~class_b(){};
class_b(class_a&);
}