当前位置: 首页 > news >正文

做网站推广员工网站推广的营销策划方案

做网站推广员工,网站推广的营销策划方案,成都网络公司,徐州商城建站系统1.封装的意义 封装是C面向对象三大特性之一 实例化(通过一个类 创建一个对象的过程) 类中的属性和行为 我们统一称为 成员 属性 成员属性 成员变量 行为 成员函数 成员方法 封装的意义: 1.将属性和行为作为一个整体,表现生活中的事…

1.封装的意义

封装是C++面向对象三大特性之一

实例化(通过一个类 创建一个对象的过程)

类中的属性和行为 我们统一称为 成员

属性 成员属性 成员变量

行为 成员函数 成员方法

封装的意义

                  1.将属性和行为作为一个整体,表现生活中的事物

                  2.将属性和行为加以权限控制 

封装意义一:在设计类的时候,属性和行为写在一起,表现事物

语法

         class 类名 {  访问权限: 属性  /  行为  };

示例1:设计一个圆类,求圆的周长

#include <iostream>
using namespace std;
#include<string>//圆周率
const double PI = 3.14;//设计一个圆类,求圆的周长
//圆求周长的公式:2* PI * 半径
//class 代表设计一个类,类后面紧跟着的就是类名称
class yuan 
{//访问权限 公共权限public://属性 半径int r;//行为 获取圆的周长double zhouchang(){return 2 * PI * r;}
};
int main()
{//通过圆类 创建具体的圆(对象)yuan c1;//给圆对象的属性进行赋值c1.r = 10;//2 * PI * rcout << "圆的周长为:" << c1.zhouchang() << endl;system("pause");return 0;
}

示例2:设计一个学生类,属性有姓名和学号,可以给姓名和学号赋值,可以显示学生的名                 和学号

#include <iostream>
using namespace std;
#include<string>class student
{public://公共权限//属性 string m_name;//姓名int m_id;//学号//行为 显示姓名和学号void showstudent(){cout << "姓名:" << m_name << "学号:" <<m_id << endl;}//给姓名赋值void setName(string name){m_name = name;}//给学号赋值void setID(int id){m_id = id;}
};
int main()
{//创建一个具体的学生 实例化对象student s1;//给s1对象 进行属性赋值操作s1.setName("祁同伟");s1.setID (10001);s1.showstudent();//显示学生信息system("pause");return 0;
}

封装意义二:类在设计时,可以把属性和行为放在不同的权限下,加以控制

访问权限有三种:1.public        公共权限

                             2.protected  保护权限

                             3.private      私有权限

#include <iostream>
using namespace std;
#include<string>
//三种权限
//公共权限  public     类内可以访问  类外可以访问
//保护权限  protected  类内可以访问  类外不可以访问
//私有权限  private    类内可以访问  类外不可以访问class Person
{//姓名  公共权限
public:string m_Name;//汽车  保护权限
protected:string m_Car;//银行卡密码 私有权限
private:int m_Password;public:void func(){m_Name = "张三";m_Car = "拖拉机";m_Password = 123456;}
};int main()
{Person p;p.m_Name = "李四";//p.m_Car = "奔驰";//保护权限类外访问不到//p.m_Password = 123;//私有权限类外访问不到system("pause");return 0;
}

2. struct和class区别

在C++中struct和class唯一的区别就在于默认的访问权限不同

区别:

        struct 默认权限为公共

        class  默认权限为私有

class C1
{int  m_A; //默认是私有权限
};struct C2
{int m_A;  //默认是公共权限
};int main() 
{C1 c1;c1.m_A = 10; //错误,访问权限是私有C2 c2;c2.m_A = 10; //正确,访问权限是公共system("pause");return 0;
}

3. 成员属性设置为私有

优点1:将所有成员属性设置为私有,可以自己控制读写权限

优点2:对于写权限,我们可以检测数据的有效性

#include <iostream>
using namespace std;
#include<string>
//成员属性设置私有
//1、可以自己控制读写权限
//2、对于写可以检测数据有效性
//人类
class Person
{
public://设置姓名void setName(string name){m_Name = name;}//获取姓名string getName(){return m_Name;}//获取年龄 只读 getint getAge(){return m_Age;}//设置年龄 只写 setvoid setAge(int age){if (age < 0 || age>100){cout << "年龄输入有误,赋值失败" << endl;return;}m_Age = age;}//设置偶像 只写 setvoid setIdol(string idol){m_Idol = idol;}private:string m_Name; //姓名 可读可写int m_Age = 18;  //年龄  只读string m_Idol;  //偶像  只写
};int main()
{Person p;//姓名设置p.setName("张三");//获取姓名cout << "姓名:" << p.getName() << endl;//年龄设置p.setAge(30); //获取年龄cout << "年龄:" << p.getAge() << endl;//偶像设置p.setIdol("迪丽热巴"); //只写//cout << "偶像:" << p.getIdoi() << endl;//只写状态 外界访问不到system("pause");return 0;
}

4.案例

4.1 立方体

设计立方体类、求出立方体的面积和体积

分别用全局函数和成员函数判断两个立方体是否相等

#include<iostream>
using namespace std;//立方体类设计
//1、创建立方体类
//2、设计属性
//3、设计行为 获取立方体面积和体积
//4、分别利用全局函数和成员函数 判断两个立方体是否相等class Cube{
public://设置长void setL(int l) {m_L = l;}//获取长int getL() {return m_L;}//设置宽void setW(int w) {m_W = w;}//获取宽int getW() {return m_W;}//设置高void setH(int h) {m_H = h;}//获取高int getH() {return m_H;}//获取立方体的面积int calculateS() {return 2 * m_L * m_W + 2 * m_W * m_H + 2 * m_L * m_H;}//获取立方体的体积int calculateV() {return m_L * m_W * m_H;}//利用成员函数判断两个立方体是否相等bool isSameByClass(Cube& c) {if (getL() == c.getL() && getW() == c.getW() && getH() == c.getH()) {return true;}return false;}private:int m_L;//长int m_W;//宽int m_H;//高
};//利用全局函数判断 两个立方体是否相等
bool isSame(Cube& c1, Cube& c2) {if (c1.getL() == c2.getL() && c1.getW() == c2.getW() && c1.getH() == c2.getH()) {return true;}return false;
}int main(){//创建立方体对象Cube c1;c1.setL(10);c1.setW(10);c1.setH(10);cout << "c1的面积为:" << c1.calculateS() << endl;cout << "c1的体积为:" << c1.calculateV() << endl;//创建第二个立方体Cube c2;c2.setL(10);c2.setW(10);c2.setH(10);//利用全局函数判断bool ret = isSame(c1, c2);if (ret) {cout << "全局函数判断:c1和c2是相等的" << endl;}else {cout << "全局函数判断:c1和c2是不相等的" << endl;}//利用成员函数判断ret = c1.isSameByClass(c2);if (ret) {cout << "成员函数判断:c1和c2是相等的" << endl;}else {cout << "成员函数判断:c1和c2是不相等的" << endl;}system("pause");return 0;
}

4.2 点和圆的关系

设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系

#include<iostream>
using namespace std;//点类
class Point {
public://设置xvoid setX(int x) {m_X = x;}//获取xint getX() {return m_X;}//设置yvoid setY(int y) {m_Y = y;}//获取yint getY() {return m_Y;}
private:int m_X;int m_Y;
};//圆类
class Circle {
public://设置半径void setR(int r) {m_R = r;}//获取半径int getR() {return m_R;}//设置圆心void setCenter(Point center) {m_Center = center;}//获取圆心Point getCenter(){return m_Center;}private:int m_R;//半径//在类中可以让另一个类 作为本来中的成员Point m_Center;//圆心
};//判断点和圆关系
void isInCircle(Circle& c, Point& p) {//计算两点之间距离 平方int distance =(c.getCenter().getX() - p.getX()) * (c.getCenter().getX() - p.getX()) +(c.getCenter().getY() - p.getY()) * (c.getCenter().getY() - p.getY());//计算半径的平方int rDistance = c.getR() * c.getR();//判断关系if (distance == rDistance) {cout << "点在圆上" << endl;}else if (distance > rDistance) {cout << "点在圆外" << endl;}else {cout << "点在圆内" << endl;}
}
int main(){//创建圆Circle c;c.setR(10);Point center;center.setX(10);center.setY(0);c.setCenter(center);//创建点Point p;p.setX(10);p.setY(10);//判断关系isInCircle(c, p);system("pause");return 0;
}

在实际开发当中不可能把全部类写到一个文件中,所以要分开几个文件写poi
point.h

#pragma once //防止头文件出现重复性
#include <iostream>
using namespace std;class Point {
public://函数声明//设置xvoid setX(int x);//获取xint getX();//设置yvoid setY(int y);//获取yint getY();private://变量声明int m_X;int m_Y;
};

point.cpp

#include"point.h"//设置xvoid Point:: setX(int x) {  //加Point::使其变成成员函数m_X = x;}//获取xint Point:: getX() {return m_X;}//设置yvoid Point:: setY(int y) {m_Y = y;}//获取yint Point:: getY() {return m_Y;}

circle.h

#pragma once
#include<iostream>
using namespace std;
#include"point.h"class Circle {
public://设置半径void setR(int r); //获取半径int getR();//设置圆心void setCenter(Point center);//获取圆心Point getCenter();private:int m_R;//半径//在类中可以让另一个类 作为本来中的成员Point m_Center;//圆心
};

circle.cpp

#include"circle.h"//设置半径void Circle:: setR(int r) {m_R = r;}//获取半径int Circle:: getR() {return m_R;}//设置圆心void Circle:: setCenter(Point center) {m_Center = center;}//获取圆心Point Circle:: getCenter(){return m_Center;}

http://www.ds6.com.cn/news/119618.html

相关文章:

  • 有哪些做家教网站今天的新闻有哪些
  • 微网站建设 上海如何制作网站
  • wordpress字体选择百度seo和sem的区别
  • 娱乐网站代理商怎么做武汉网络营销推广
  • 网站制作建站深圳企业网站制作公司
  • 如何下载免费的ppt模板河北seo
  • 做网站的策划书seo站长论坛
  • 聊城做wap网站服务竞价托管就选微竞价
  • 网站开发版权归谁百度推广要多少钱
  • 登录贵州省住房和城乡建设厅网站网站建设网络推广seo
  • 如何购买海外服务器seo的推广技巧
  • 中国铁建华南建设有限公司网站抖音关键词排名软件
  • 怎么知道网站有没有备案怎样搭建自己的网站
  • 二级分销软件seo快速排名上首页
  • ps网站首页设计外链网
  • 做网站重要标签广告发布平台app
  • 在excel表里做网站模板上海网站建设哪家好
  • 代理东莞网站制作公司如何打百度人工电话
  • 瑞安企业做网站今日新闻最新10条
  • 做asp网站需要的实验报告单百度网登录入口
  • 爱站网站seo查询工具b2b免费推广网站
  • 合肥网站建设电话咨询广告免费发布信息平台
  • 塑料机械怎么做网站dw网页设计模板网站
  • 温州哪家做网站不花钱网站推广
  • 商城app开发方案历下区百度seo
  • 陕西省政府网站建设seo技术是干什么的
  • 自建网站备案seo查询网站是什么
  • 山东烟台城乡建设学校官方网站临沂做网站的公司
  • 关于政府网站的建设的意见爱站工具包
  • 中企动力 网站报价百度推广怎么样