2类和对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2类和对象相关的知识,希望对你有一定的参考价值。
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类和对象的主要内容,如果未能解决你的问题,请参考以下文章