Hi All,
Does anyone know a way around the illegal reference of a non-static
member? Thanks.
iNHERITANCE HIERACY
TestInherit TestInherit
| |
| |
TestInheritChil d TestInheritG
|
|
TestInheritGChi ld
///TestInherit.hpp
#include <string>
#include <vector>
class TestInherit {
public:
// Default Constructor
TestInherit ();
// Copy constructor
TestInherit ( const TestInherit &);
// Assignment operator
TestInherit & operator=( const TestInherit& rhs);
/// Destructor
virtual ~TestInherit();
;
class TestInheritChil d : public TestInherit {
public:
// Default Constructor
TestInheritChil d ();
// Copy constructor
TestInheritChil d ( const TestInheritChil d &);
// Assignment operator
TestInheritChil d & operator=( const TestInheritChil d& rhs);
/// Destructor
virtual ~TestInheritChi ld();
private:
int * intP_;
};
//////////////------------------------
///////// TestInherit.cpp
#include "TestInherit.hp p"
// Default Constructor
TestInherit::Te stInherit()
:
{
}
// Destructor
TestInherit::~T estInherit ()
{
}
// Copy constructor
TestInherit::Te stInherit ( const TestInherit & rhs)
{
}
// Assignment operator
TestInherit &
TestInherit::op erator=( const TestInherit& rhs)
{
if (this!=&rhs) {
}
return *this;
}
// Default Constructor
TestInheritChil d::TestInheritC hild()
: intP_(NULL),
{
}
// Destructor
TestInheritChil d::~TestInherit Child ()
{
delete intP_;
}
// Copy constructor
TestInheritChil d::TestInheritC hild ( const TestInheritChil d & rhs)
{
}
// Assignment operator
TestInheritChil d &
TestInheritChil d::operator=( const TestInheritChil d& rhs)
{
if (this!=&rhs) {
}
return *this;
}
-///////////////////////////--------------------
////////////// TestInheritG.hp p
#include "TestInherit.hp p"
class TestInheritG : public TestInherit {
public:
// Default Constructor
TestInheritG ();
// Copy constructor
TestInheritG ( const TestInheritG &);
// Assignment operator
TestInheritG & operator=( const TestInheritG& rhs);
/// Destructor
virtual ~TestInheritG() ;
};
class TestInheritGChi ld : public TestInheritG {
public:
// Default Constructor
TestInheritGChi ld ();
// Copy constructor
TestInheritGChi ld ( const TestInheritGChi ld &);
// Assignment operator
TestInheritGChi ld & operator=( const TestInheritGChi ld& rhs);
/// Destructor
virtual ~TestInheritGCh ild();
private:
int * intP_;
}
////////////////;============== ============
/////TestInheritG.cp p
#include "TestInheritG.h pp"
// Default Constructor
TestInheritG::T estInheritG()
:
{
}
// Destructor
TestInheritG::~ TestInheritG ()
{
}
// Copy constructor
TestInheritG::T estInheritG ( const TestInheritG & rhs)
{
}
// Assignment operator
TestInheritG &
TestInheritG::o perator=( const TestInheritG& rhs)
{
if (this!=&rhs) {
}
return *this;
}
//ttester
int TestInheritG::t ester ( double index)
{
return (int) index;
}
// Default Constructor
TestInheritGChi ld::TestInherit GChild()
:intP_(NULL),
{
}
// Destructor
TestInheritGChi ld::~TestInheri tGChild ()
{
int newInt=*intP_;
TestInheritChil d::intP_=&newIn t; ///////////TH ERROR POINT
///////////////////////
delete intP_;
}
// Copy constructor
TestInheritGChi ld::TestInherit GChild ( const TestInheritGChi ld & rhs)
{
}
// Assignment operator
TestInheritGChi ld &
TestInheritGChi ld::operator=( const TestInheritGChi ld& rhs)
{
if (this!=&rhs) {
}
return *this;
}
=--------\
------ Build started: Project: xxxxx, Configuration: Debug
Win32 ------
Compiling...
TestInheritG.cp p
TestInheritG.cp p(__) : error C2597: illegal reference to non-static member
'TestInheritChi ld::intP_'
TestInherit.cpp
Generating Code...
---------------------- Done ----------------------
Gabrielle A. Grün, Ph.D. Student
School of Computing Science
Simon Fraser University
8888 University Drive
Burnaby, BC
V5A 1S6
<http://www.cs.sfu.ca/~grun>
Comment