1 – 类的构成
对于研究的一个事物,可以称之为数据或者称之为一个对象,研究一个对象时,主要分为属性和行为,数据就相当于成员变量,行为就是函数,每一个对象应该都是由这两部分组成,并且对于每一个对象都有公有的属性和行为以及私有的属性和行为,所以对于对象还要设置访问权限
所以类具有封装性即可保存变量,又可以保存函数,并且具有访问权限
2 – 类的定义以及实例化对象
定义类:
class 类名{
成员变量或者成员函数;
};
实例化对象就是定义类的变量:
类名 对象名;
案例
#include <iostream>
#include <string.h>
using namespace std;
//定义一个类
class Person
{
//类中成员的访问权限:public、private、protected
//public:公有的权限,类外可以直接访问,struct默认就是公有权限
//private:私有的权限,类内可以随便访问,但是类外不能直接访问,类的默认权限是私有权限
//protected:受保护的权限,主要涉及到继承的时候使用,不涉及继承跟private一样
public:
int p_ID;
char p_Name[32];
char p_Sex;
int p_Age;
};
void test1()
{
//定义一个类的变量,称之为对象
//定义变量称之为实例化对象
Person p;
p.p_ID = 1001;
strcpy(p.p_Name, "zhangsan");
p.p_Sex = 'B';
p.p_Age = 20;
cout << p.p_ID << " " << p.p_Name << " " << p.p_Sex << " " << p.p_Age << endl;
}
int main(int argc, char *argv[])
{
test1();
return 0;
}
3 – 私有成员的访问方式
私有成员访问方式:
使用公有的成员函数(现在讲)
友元(后期讲)
#include <iostream>
#include <string>
using namespace std;
class Person{
public:
int p_ID;
string p_Name;
//私有成员通过公有的成员函数对其进行操作并在外部访问
void setMsg(int age, string eid)
{
p_Age = age;
p_Eid = eid;
}
void getMsg()
{
cout << p_ID << "-" << p_Name << "-" << p_Age << "-" << p_Eid << endl;
}
private:
int p_Age;
string p_Eid;
};
void test1()
{
Person p1;
p1.p_ID = 1001;
p1.p_Name = "zhangsan";
//私有成员无法在类外直接访问
//p1.p_Age = 20;
//p1.p_Eid = "19990901";
//cout << p1.p_ID << "-" << p1.p_Name << "-" << p1.p_Age << "-" << p1.p_Eid << endl;
p1.setMsg(20, "19990901");
p1.getMsg();
}
int main(int argc, char *argv[])
{
test1();
return 0;
}
综上:一般为了便于按照自己的方式设置成员变量的值,所以一般成员变量都会定义成私有的,然后通过公有的成员函数去操作
版权声明:本文为weixin_46065254原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。