黑马程序员匠心之作-类和对象
c++面向对象三大特性:封装、继承、多态。
c++认为世间万物都是对象,每个对象都有属性和行为。
具有相同属性的对象抽象为类。
4.1封装:
4.1.1封装的意义
1、将属性和行为作为一个整体;
2、将属性和行为加以权限控制
属性 ,行为
#include
#include
using namespace std;
class student
{//属性和行为统称为 成员//属性:又称为 成员属性 成员变量//行为:又称为 成员函数 成员方法
public://属性string name;string xvehao;//行为void print(){cout << "姓名:" << name << " 学号:" << xvehao << endl;}void setname(string thename){name = thename;}void setxvehao(string thexvehao){xvehao = thexvehao;}
};
int main()
{string name;string xvehao;cout << "请输入姓名:" << endl;cin >> name;cout << "请输入学号:" << endl;cin >> xvehao;student stu1;//创建一个学生,实例化对象//stu1.name = name;stu1.setname(name);//stu1.xvehao = xvehao; stu1.setxvehao(xvehao);stu1.print();system("pause");return 0;}
访问权限:public,protected,private.

protected::只有类内和子类可以访问protected修饰的内容
4.1.2struct与class区别
struct与class的唯一区别是默认情况下,struct是公共权限,class是私有权限。

4.1.3成员属性设置为私有

#include
#include
using namespace std;
class person
{
public://通过公共权限控制访问权限//写姓名void setname(string thename){name = thename;}//读姓名string readname(){return name;}void setage(int theage)//写权限,检验数据有效性{if (theage < 0 || theage>150){cout << "输入年龄有误" << endl;}else{age = theage;}}int readage(){//age = 0;return age;}void setid(string theid){id = theid;}private://属性设置为私有string name;int age;string id;};
int main()
{person p;p.setname("li");cout << "姓名为:" << p.readname() << endl;p.setage(12);cout << "年龄:" << p.readage() << endl;p.setid("1111");system("pause");return 0;}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
