class Person
{
public:
void say()
{
cout << "person say" << endl;
}
};
class Student : public Person
{
public:
void say()
{
cout << "student say" << endl;
}
};
int main()
{
Student s;
s.Person::say();
}
https://www.cnblogs.com/oddcat/p/11232415.html
class Person
{
public:
void say()
{
cout << "person say" << endl;
}
};
class Student : public Person
{
public:
void say()
{
cout << "student say" << endl;
}
};
typedef Person super;
int main()
{
Student s;
s.super::say();
}
使用宏定义super:
#define child_super(child, parent) \
public: \
typedef parent super; \
class Person
{
public:
void say()
{
cout << "Person say" << endl;
}
};
class Student : public Person
{
public:
child_super(Student, Person);
void say()
{
super::say();
cout << "Student say" << endl;
}
};
class GoodStudent : public Student
{
public:
child_super(GoodStudent, Student);
void say()
{
super::say();
cout << "GoodStudent say" << endl;
}
};
int main()
{
GoodStudent g;
g.say();
}
输出:
Person say
Student say
GoodStudent say