private继承

向右看齐 2022-06-09 13:39 230阅读 0赞

实例:

  1. #include <iostream>
  2. using namespace std;
  3. class parent{
  4. public:
  5. void print(void)
  6. {
  7. //cout << "a=:" << a << " b=:" << b <<" c=:"<< d << endl;
  8. }
  9. int a;
  10. private:
  11. int b;
  12. protected:
  13. int d;
  14. };
  15. #if 0
  16. class child1 :public parent
  17. {
  18. public:
  19. void SetVar(int _a, int _b, int _c)
  20. {
  21. a = _a;
  22. //b = _b;//不可以访问,因为是基类的私有属性
  23. d = _c;//可以在子类(派生类)中使用,但也仅限于在类中,不可以再类外使用
  24. }
  25. private:
  26. protected:
  27. };
  28. #endif
  29. class child2: private parent
  30. {
  31. void SetVar(int _a, int _b, int _c)
  32. {
  33. a = _a;
  34. //b = _b;//不可以访问,因为是基类的私有属性
  35. d = _c;//可以在子类(派生类)中使用,但也仅限于在类中,不可以再类外使用
  36. }
  37. public:
  38. private:
  39. protected:
  40. };
  41. int main()
  42. {
  43. child2 oop;
  44. /*这三种方式都不可以使用,因为在子类中的集成方式为private,所以,基类所有成员属性在子类中都变成private,所以在外部不可以访问了*/
  45. //oop.a = 100;
  46. //oop.b = 1000;
  47. //oop.d=10000
  48. system("pause");
  49. return 0;
  50. }

发表评论

表情:
评论列表 (有 0 条评论,230人围观)

还没有评论,来说两句吧...

相关阅读

    相关 你所不知的private继承

    你所不知的private继承  在C++的类中有许多种继承方式,而我们在软件设计和编写代码时用得最多的就是public继承,我们很少接触到private继承。但是我们在设计时