码迷,mamicode.com
首页 > 其他好文 > 详细

2类和对象

时间:2016-06-18 21:14:10      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

 

1 C++类成员的保护

2 C++类的本质

 

1 C++类成员的保护

 

如果类函数返回的是成员变量的指针,为了避免在内外部成员变量被修改,所以函数就要返回常量指针。

 

 1 class man
 2 {
 3 private:
 4     char name[100];
 5     int age;
 6 public:
 7     void set_name(const char *s)
 8     {
 9         memset(name, 0, sizeof(name));//初始化
10         if (strcmp(s, "tom") == 0)//不能用tom命名
11         {
12             return;
13         }
14         strcpy(name, s);
15     }
16     void set_age(int i)
17     {
18         age = i;
19     }
20     const char *get_name()//返回const,安全。如果不加上const,可以通过地址强制修改
21     {
22         return name;
23     }
24     int get_age()
25     {
26         return age;
27     }
28 };

 

如果一个类成员变量和一个全局变量extern重名,那么在类成员函数中默认访问的是类的成员变量。

 

在类的内部访问全局变量extern,使用标识符双冒号::

 

 1 class man
 2 {
 3 private:
 4     char name[100];
 5     int age;
 6 public:
 7     void set_name(const char *s)
 8     {
 9         memset(name, 0, sizeof(name));//初始化
10         if (strcmp(s, "tom") == 0)//不能用tom命名
11         {
12             return;
13         }
14         strcpy(name, s);
15     }
16     void set_age(int i)
17     {
18         ::age = i;//双冒号::代表全局变量extern
19     }
20     const char *get_name()//返回const,安全。如果不加上const,可以通过地址强制修改
21     {
22         return name;
23     }
24     int get_age()
25     {
26         return age;
27     }
28 };

 

2 C++类的本质

 

类其实就是结构的数据成员加可执行代码,同时提供封装、继承、多态。

 

在类内部,没有权限限定符,默认是private

但是在结构体内部,没有权限限定符,默认是public

 

 

123

2类和对象

标签:

原文地址:http://www.cnblogs.com/denggelin/p/5596786.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!