Presentation is loading. Please wait.

Presentation is loading. Please wait.

本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866.

Similar presentations


Presentation on theme: "本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866."— Presentation transcript:

1 本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:

2 1、定义与实现分开 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864
<1> 代码会有更好的可读性 <2> 但不是必须的

3 2、public与private的使用 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864

4 3、private真的不能访问吗? 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864
struct Test { private: int x; public: int y; void Init(int x,int y) this->x = x; this->y = y; } }; Test t; t.Init(1,2); int* p = (int*)&t; int n = *p; int m = *(p+1); printf("%d %d\n",n,m); 总结: private修饰的成员与普通的成员没有区别 只是编译器会检测。 private修饰的成员只要自己的其他成员才能访问。

5 4、class与struct的区别: 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864
class Base { int x; int y; }; int main(int argc, char* argv[]) Base base; base.x = 10; base.y = 20; return 0; } class与struct的区别: 编译器默认class中的成员为private 而struct中的成员为public

6 5、继承中时的区别: 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864 class Base {
public: int x; int y; }; class Sub:Base int a; int b; class Sub:private Base { public: int a; int b; }; int main(int argc, char* argv[]) { Sub sub; sub.x = 1; //无法访问 sub.y = 2; //无法访问 sub.a = 3; sub.b = 4; return 0; }

7 6、private成员是否被继承? 昆山爱达人信息技术有限公司 www.bcdaren.com QQ:1250121864
class Base { public: Base() x = 11; y = 12; } private: int x; int y; }; class Sub:Base int a; int b; 总结: 1、父类中的私有成员是会被继承的 2、只是编译器不允许直接进行访问 int main(int argc, char* argv[]) { Sub sub; sub.a = 1; sub.b = 2; int* p = (int*)⊂ printf("%d\n",sizeof(sub)); printf("%d\n",*(p+0)); printf("%d\n",*(p+1)); printf("%d\n",*(p+2)); printf("%d\n",*(p+3)); return 0; }

8 <汇编、C/C++线上班>学员可见
昆山爱达人信息技术有限公司 QQ: 课后练习: <汇编、C/C++线上班>学员可见


Download ppt "本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com 联系QQ:1250121864 QQ交流群 :49759272 联系电话:0512-57882866."

Similar presentations


Ads by Google