struct 结构体想必有语法基础的都十分熟悉, 但是在C++中使用 struct 没有利用好 C++的特色
现在就来介绍一下 class: 类
在类与结构体中, 我们可以控制成员的访问权限, 分为3种:
| public | 公共的访问权限, 可以不受限制随意访问 |
| private | 私有访问权限, 只能被自身的成员(不管是什么访问权限)访问, 无法继承 |
| protected | 受保护的成员, 只能通过继承或者友元访问 |
这里面可能出现了一些比较陌生的名词, 先放着别急
声明例子:
1 class EXAMPLE 2 { 3 public://公共 4 int PublicData=1; 5 private://私有 6 int PrivateData=0; 7 protected://受保护 8 int ProtectData=-1; 9 };//Attention!!!
如果我们这样写:
1 class EXAMPLE 2 { 3 int UnknownData=1; 4 private: 5 int PrivateData=0; 6 protected: 7 int ProtectData=-1; 8 };
现在 UnknownData 的属性是 private 的, 这是与结构体不同的地方
非常重要: 结构体默认是 public, 而类默认是 private
类的成员函数的可以写在类的外部或内部, 但 写在外部的话要用到 :: 运算符, 格式为:
<DataType> <ClassName>::<MemberFunction>(<List>) { //Do something... }
<DataType> 为数据类型, 特殊情况 (见下一章) 下可以省略
<ClassName> 为相应的类的名字
<MemberFunction> 为该 <ClassName> 中的成员函数名
<List> 为该 <MemberFunction> 中的成员函数的参数列表
例如:
class Student { string name; public: void SetName(string); }; void Student::SetName(string str) { this->name=str;//这里可以直接访问类的成员 }
这与以下代码等价:
class Student { string name; public: void SetName(string str) { this->name=str; } };
如果掌握了, 请看下一章: 类的构造函数
3258

被折叠的 条评论
为什么被折叠?



