首页 > 代码库 > c++ 多态
c++ 多态
示例代码对以下两种情况进行了说明:
1. 继承时改变虚函数的权限;
2. 私有继承;
class A { public: virtual void test1() { cout << "public test1 of A" << endl; } private: virtual void test2() { cout << "private test2 of A" << endl; } protected: int p1; private: int p2; }; class B: public A { private: void test1() { cout << "privte test1 of B" << endl; } public: void test2() { cout << "public test2 of B" << endl; } }; class C: private A { public: void testProtected() { cout << p1 << endl; } }; class D: public C { public: void testProtected() { // cout << p1 << endl;//因为c私有继承A,c不能访问a的protedted成员 } }; int main() { B b; A* a = &b; a->test1();//可以访问, 权限以A为准 // a->test2();//无法访问私有成员 C c;
c.testProtected();
return 0;
}
c++ 多态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。