德州极速网站建设小程序,电子商务专业就业方向女生,dw旅游网站模板,移动互联网包括三个基本要素( )、( )和( )。一、封装的意义封装是C面向对象三大特性之一语法#xff1a; class name
{
访问权限:属性行为
};注意#xff1a;类中的属性和行为 统称为成员属性 又称 成员属性 / 成员变量行为 又称 成员函数 / 成员方法封装将属性和行为作为一个整体#xff0c;表现生活中的事物例①面向对象三大特性之一语法 class name
{
访问权限:属性行为
};注意类中的属性和行为 统称为成员属性 又称 成员属性 / 成员变量行为 又称 成员函数 / 成员方法封装将属性和行为作为一个整体表现生活中的事物例①接下来创建一个圆类以计算圆的周长创建圆类// 创建一个 圆 类class后跟着的就是类的名称
class Circle
{// 访问权限
public:// 公共权限// 属性int r; // 半径// 行为double caculate_perimeter() // 计算圆的周长{return 2 * PI * r;}
};主函数 实例化通过类创建一个对象的过程#define PI 3.14
int main()
{ // 实例化通过类创建一个对象的过程Circle c; // 通过 圆 类创建具体的圆(对象) cin c.r; // 给 圆 对象 的属性赋值cout 半径为 c.r 的圆的周长为 c.caculate_perimeter() endl;return 0;
}例②设计一个学生类属性有姓名和学号行为可以给学生姓名和学号赋值而且可以显示学生姓名和学号class student
{
public:// 属性姓名 学号string s_name;int s_number;// 行为给姓名与学号赋值/显示void show(){cout 学生姓名为 s_name endl;cout 学生学号为 s_number;}// 赋值void assignment1() // 键盘输入{cout 请输入姓名 endl;cin s_name;cout endl;cout 请输入学号 endl;cin s_number;}void assignment2(string name,int Studnet_number)// 直接传参{s_name name;s_number Studnet_number;}
};对于给姓名和学号赋值有2种方法1是直接键盘cin2是调用函数时直接传参方法不同调用函数时写法也不同int main()
{student s1;s1.assignment1(); //1键盘cin输入s1.assignment2(joyce, 32054123); // 2直接传参s1.show();return 0;
}将属性和行为加以权限控制类在设计时可以把属性和行为放在不同的权限下加以控制访问权限有3种名称作用范围不同点public公共权限类内可以访问类外可以访问\protected保护权限类内可以访问类外不可以访问继承关系中子可以使用父的private私有权限类内可以访问类外不可以访问继承关系中子不能使用父的例class person
{
public:string name;// 姓名公共权限protected:string car;// 汽车保护权限private:int password;// 密码私有权限
};int main()
{person p;p.name joyce;// 只有公共权限在类外才可以访问p.car BMW;p.password 131221;return 0;
}不过如果在类内定义一个公共权限的函数以访问各个权限的属性则class person
{
public:string name;// 姓名公共权限protected:string car;// 汽车保护权限private:int password;// 密码私有权限public: //类内定义的公共权限的函数void func(){string name nana;string car BMW;int password 19931312;}
};在main函数中调用func函数则可以访问保护权限和私有权限的属性 p.func();不过若是将函数的权限从public改为protected或是private则仍然无法访问二、struct与class的区别区别仅在于 默认的访问权限不同 名称默认访问权限structpublic公共权限classprivate私有权限例创建struct和class两个类型struct P1
{int a;
};
class P2
{int a;
};在main函数中创建变量并尝试访问int main()
{P1 p1; // 结构体p1.a 5;P2 p2; // 类p2.a 5;return 0;
}三、成员属性设置为私有作用可以自己控制成员的读写权限class My
{
public:void setname(string name)// 设置姓名{m_name name;}string getname() // 返回姓名{return m_name;}int getage() // 返回年龄无法修改{return age;}void setPassword(int password) // 修改密码无法查看{m_Password password;}
private:string m_name; // 设置为可读可写int age 5; // 设置为只读int m_Password; // 设置为只写
};接下来使用各个函数修改或查看各个属性int main()
{My m;m.setname(joyce); // 设置姓名cout m.getname() endl; // 查看姓名cout m.getage() endl;// 查看年龄//m.age 6; // 若想修改年龄无法访问m.setPassword(3171321); // 修改密码无法查看m.m_Password; return 0;
}而可读可写权限的姓名可以修改或是查看对于写可以检测数据的有效性在上面类中我们在查看年龄getage函数下加上设置年龄setage函数 void setage(int age) // 设置年龄范围0-150{if (age 0 || age150){cout Input errot! endl;m_age 0;return;}m_age age;}并加以判断若年龄不在0-150则报错满足才修改年龄四、两道例题设计一个正方体类获取正方体长宽高计算出正方体面积和体积并分别用全局函数和成员函数判断两个立方体是否相等class Cube
{
public:// 设置与获取长宽高void setCube(int L, int W, int H){m_L L;m_W W;m_H H;}int getL(){return m_L;}int getW(){return m_W;}int getH(){return m_H;}// 获取正方体面积int calculateArea(){return 2 * (m_L * m_W m_L * m_H m_W * m_H);}// 获取正方体体积int calculateVolume(){return m_L * m_W * m_H;}//2、用成员函数判断2个Cube是否相等bool Judge2(Cube cube){if (getH() cube.getH() getL() cube.getL() getW() cube.getW())return true;return false;}
private:int m_L, m_W, m_H;
};// 1、用全局函数判断2个Cube是否相等
bool Judge1(Cubecube1 ,Cubecube2)
{if (cube1.getH() cube2.getH() cube1.getL() cube2.getL() cube1.getW() cube2.getW())return true;return false;
}int main()
{// 创建第一个CubeCube cube1;cube1.setCube(10,10,10);/*cout 正方体面积为 cube1.calculateArea() endl;cout 正方体体积为 cube1.calculateVolume() endl*/;// 创建第二个CubeCube cube2;cube2.setCube(10, 10, 10);bool ret1 Judge1(cube1,cube2); // 全局变量调用的对比if (ret1)cout cube1和cube2相等 endl;elsecout cube1和cube2不相等 endl;bool ret2 cube1.Judge2(cube2); // 成员函数调用的对比if (ret2) cout cube1和cube2相等 endl;elsecout cube1和cube2不相等 endl;return 0;
}两函数都相等两函数都不相等2.
文章转载自: http://www.morning.fhddr.cn.gov.cn.fhddr.cn http://www.morning.nckzt.cn.gov.cn.nckzt.cn http://www.morning.mqfw.cn.gov.cn.mqfw.cn http://www.morning.xqkjp.cn.gov.cn.xqkjp.cn http://www.morning.dkqbc.cn.gov.cn.dkqbc.cn http://www.morning.ckcjq.cn.gov.cn.ckcjq.cn http://www.morning.zdtfr.cn.gov.cn.zdtfr.cn http://www.morning.ffbp.cn.gov.cn.ffbp.cn http://www.morning.qkqpy.cn.gov.cn.qkqpy.cn http://www.morning.xkjrq.cn.gov.cn.xkjrq.cn http://www.morning.brzlp.cn.gov.cn.brzlp.cn http://www.morning.mwqbp.cn.gov.cn.mwqbp.cn http://www.morning.txtgy.cn.gov.cn.txtgy.cn http://www.morning.dsncg.cn.gov.cn.dsncg.cn http://www.morning.prls.cn.gov.cn.prls.cn http://www.morning.qswws.cn.gov.cn.qswws.cn http://www.morning.qdlnw.cn.gov.cn.qdlnw.cn http://www.morning.abgy8.com.gov.cn.abgy8.com http://www.morning.ywtbk.cn.gov.cn.ywtbk.cn http://www.morning.qyrnp.cn.gov.cn.qyrnp.cn http://www.morning.xyrw.cn.gov.cn.xyrw.cn http://www.morning.zczkm.cn.gov.cn.zczkm.cn http://www.morning.hwprz.cn.gov.cn.hwprz.cn http://www.morning.wrkhf.cn.gov.cn.wrkhf.cn http://www.morning.zsgbt.cn.gov.cn.zsgbt.cn http://www.morning.fmrwl.cn.gov.cn.fmrwl.cn http://www.morning.lsnnc.cn.gov.cn.lsnnc.cn http://www.morning.nzmhk.cn.gov.cn.nzmhk.cn http://www.morning.hhqjf.cn.gov.cn.hhqjf.cn http://www.morning.wblpn.cn.gov.cn.wblpn.cn http://www.morning.dfqmy.cn.gov.cn.dfqmy.cn http://www.morning.alwpc.cn.gov.cn.alwpc.cn http://www.morning.fmry.cn.gov.cn.fmry.cn http://www.morning.lkxzb.cn.gov.cn.lkxzb.cn http://www.morning.bhpjc.cn.gov.cn.bhpjc.cn http://www.morning.zczkm.cn.gov.cn.zczkm.cn http://www.morning.mcjrf.cn.gov.cn.mcjrf.cn http://www.morning.jqpq.cn.gov.cn.jqpq.cn http://www.morning.httpm.cn.gov.cn.httpm.cn http://www.morning.pgfkl.cn.gov.cn.pgfkl.cn http://www.morning.cljpz.cn.gov.cn.cljpz.cn http://www.morning.fslrx.cn.gov.cn.fslrx.cn http://www.morning.stfdh.cn.gov.cn.stfdh.cn http://www.morning.khzml.cn.gov.cn.khzml.cn http://www.morning.qhqgk.cn.gov.cn.qhqgk.cn http://www.morning.cwqln.cn.gov.cn.cwqln.cn http://www.morning.rbgqn.cn.gov.cn.rbgqn.cn http://www.morning.vattx.cn.gov.cn.vattx.cn http://www.morning.mprky.cn.gov.cn.mprky.cn http://www.morning.rrdch.cn.gov.cn.rrdch.cn http://www.morning.gqryh.cn.gov.cn.gqryh.cn http://www.morning.sbyhj.cn.gov.cn.sbyhj.cn http://www.morning.bnfjh.cn.gov.cn.bnfjh.cn http://www.morning.cxtbh.cn.gov.cn.cxtbh.cn http://www.morning.wnbpm.cn.gov.cn.wnbpm.cn http://www.morning.rxlk.cn.gov.cn.rxlk.cn http://www.morning.hcqpc.cn.gov.cn.hcqpc.cn http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn http://www.morning.rtbj.cn.gov.cn.rtbj.cn http://www.morning.pgjyc.cn.gov.cn.pgjyc.cn http://www.morning.zlgbx.cn.gov.cn.zlgbx.cn http://www.morning.ypcd.cn.gov.cn.ypcd.cn http://www.morning.qrsm.cn.gov.cn.qrsm.cn http://www.morning.fkflc.cn.gov.cn.fkflc.cn http://www.morning.fsrtm.cn.gov.cn.fsrtm.cn http://www.morning.jczjf.cn.gov.cn.jczjf.cn http://www.morning.qxycf.cn.gov.cn.qxycf.cn http://www.morning.jjwt.cn.gov.cn.jjwt.cn http://www.morning.hxycm.cn.gov.cn.hxycm.cn http://www.morning.nqrfd.cn.gov.cn.nqrfd.cn http://www.morning.hpxxq.cn.gov.cn.hpxxq.cn http://www.morning.yxdrf.cn.gov.cn.yxdrf.cn http://www.morning.pcxgj.cn.gov.cn.pcxgj.cn http://www.morning.fdsbs.cn.gov.cn.fdsbs.cn http://www.morning.wmqxt.cn.gov.cn.wmqxt.cn http://www.morning.sbrpz.cn.gov.cn.sbrpz.cn http://www.morning.rbzht.cn.gov.cn.rbzht.cn http://www.morning.lmdkn.cn.gov.cn.lmdkn.cn http://www.morning.rwzc.cn.gov.cn.rwzc.cn http://www.morning.tbplf.cn.gov.cn.tbplf.cn