// C++
class Parent
{
public:
int getParentMember();
void setParentMember(int);
protected:
int parent_member;
};
class Child: public Parent
{
public:
int getChildMember();
void setChildMember(int);
private:
int childMember;
};
int Parent::getParentMember()
{
return this->parentMember;
}
void Parent::setParentMember(int p)
{
this->parentMember = p;
}
int Child::getChildMember()
{
return this->childMember;
}
void Child::setChildMember(int c)
{
this->childMember = c;
}
The Parent class' C equivalent is straightforward. Parent is really no different from any of the classes we've dealt with so far:
// C
struct Parent
{
int (*getParentMember)();
void (*setParentMember)(int);
int parentMember;
};
// Parent::Parent()
void constructor(struct Parent* this)
{
this->getParentMember = getParentMember;
this->setParentMember = setParentMember;
}
// Parent::~Parent()
void destructor(struct Parent* this)
{
}
// int Parent::getParentMember()
int getParentMember(struct Parent* this)
{
return this->parentMember;
}
void setParentMember(struct Parent* this, int p)
{
this->parentMember = p;
}
No comments:
Post a Comment