封装的具体应用
C++中封装是通过类实现的,通过类把具体的事物抽象成为一个由属性和行为结合的独立单位,类的对象会表现出具体的属性和行为。
通过权限控制符可以限制外界对类的成员变量的访问,将对象的状态信息隐藏在对象内部,通过类提供的函数(接口)实现对类中成员的访问。在定义类是,将类中的成员变量设置为私有或保护属性
#include<iostream>
#include<string>
using namespace std;
class Sutdent{ //定义学生类Student
public: //公有类型
void study(); // 声明表示学习的成员函数
void exam(); //声明表示考试的成员函数
void setName(); //声明获取姓名的成员
private: //私有类型
string _name; //声明表示姓名的成员变量
};
void Student::study(){
cout<<"学习C++要克服畏难情绪"<<endl;
}
void Student::exam(){
cout<<"C++成绩100分哈哈哈"<<endl;
}
void Student::setName(string name){
_name = name;
}
int main(){
Student stu;
stu,setName("张三”);
stu.study();
stu.exam(); }
遇到的问题:
1.
解决办法:#include<string>
2.同一个项目下源文件中有多个main()函数会报错
解决办法:
将main()添加数字设置为普通函数main(),而不是项目的主函数。
3.私有成员,不能通过对象直接访问
stu.setName = "张三"
报错: