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

公司推广做哪个网站杭州网站seo外包

公司推广做哪个网站,杭州网站seo外包,做企业网站报价,个人怎么建设网站继承 1.继承1.1 继承的概念1.2继承的定义1.2.1定义格式1.2.2继承基类成员访问方式的变化 1.3继承模板 2.基类和派生类之间的转换 1.继承 1.1 继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上…

继承

  • 1.继承
    • 1.1 继承的概念
    • 1.2继承的定义
      • 1.2.1定义格式
      • 1.2.2继承基类成员访问方式的变化
    • 1.3继承模板
  • 2.基类和派生类之间的转换

1.继承

1.1 继承的概念

继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许我们在保持原有类特性的基础上进行扩展,增加方法(成员函数)和属性(成员变量),这样产生新的类,称派生类
没使用继承的两个类Student和Teacher,Student和Teacher类里面都有姓名/地址/年龄/电话/住址等成员变量,都有identity身份证的成员函数,设计就开始冗余。

class Student
{
public:// 进⼊校园/图书馆/实验室刷⼆维码等⾝份认证void identity(){// ...}// 学习void study(){// ...}
protected:string _name = "peter"; // 姓名string _address; // 地址string _tel; // 电话int _age = 18; // 年龄int _stuid; // 学号
};
class Teacher
{
public:void identity(){// ...}// 授课void teaching(){//...}
protected:string _name = "张三"; // 姓名int _age = 18; // 年龄string _address; // 地址string _tel; // 电话string _title; // 职称
};
int main()
{return 0;
}

下面我们公共的成员都放到Person类中,Student和teacher都继承Person,就可以复用这些成员,就不需要重复定义了,省去了很多麻烦。

class Person
{
public:// 进⼊校园/图书馆/实验室刷⼆维码等⾝份认证void identity(){cout << "void identity()" << _name << endl;}
protected:string _name = "张三"; // 姓名string _address; // 地址string _tel; // 电话int _age = 18; // 年龄
};
class Student : public Person{
public:// 学习void study(){// ...}protected:int _stuid; // 学号
};
class Teacher : public Person
{
public:// 授课void teaching(){//...}
protected:string title; // 职称
};
int main()
{Student s;Teacher t;s.identity();t.identity();return 0;
}

1.2继承的定义

1.2.1定义格式

Person是基类,也称作父类。Student是派生类,也称作子类。(因为翻译的原因,所以既叫基类/派生类,也叫父类/子类)
在这里插入图片描述
在这里插入图片描述

1.2.2继承基类成员访问方式的变化

类成员/继承方式public继承protected继承private继承
基类的pubic成员派生类的public成员派生类的protected成员派生类的private成员
基类的protected成员派生类的public成员派生类的public成员派生类的public成员
基类的private成员在派生类中不可见在派生类中不可见在派生类中不可见
  • 基类private成员在派生类中无论以什么方式式继承都是不可见的。这里的不可见是指基类的私有成员还是被继承到了派生类对象中,但是语法上限制派生类对象不管在类里面还是类外面都不能去访问它。
  • 基类private成员在派生类中是不能被访问,如果基类成员不想在类外直接被访问,但需要在派生类中能访问,就定义为protected。可以看出保护成员限定符是因继承才出现的。
  • 实际上面的表格我们进行一下总结会发现,基类的私有成员在派生类都是不可见。基类的其他成员在派生类的访问方式 == Min(成员在基类的访问限定符,继承方式),public > protected >private。
  • 使用关键字class时默认的继承方式是private,使用struct时默认的继承方式是public,不过最好显示的写出继承方式。
  • 在实际运用中⼀般使用都是public继承,几乎很少使用protetced/private继承,也不提倡使用protetced/private继承,因为protetced/private继承下来的成员都只能在派生类的类里面使用,实际中扩展维护性不强。

1.3继承模板

namespace jiang
{//template<class T>//class vector//{};// stack和vector的关系,既符合is-a,也符合has-atemplate<class T>class stack : public std::vector<T>{public:void push(const T& x){// 基类是类模板时,需要指定⼀下类域,// 否则编译报错:error C3861: “push_back”: 找不到标识符// 因为stack<int>实例化时,也实例化vector<int>了// 但是模版是按需实例化,push_back等成员函数未实例化,所以找不到vector<T>::push_back(x);//push_back(x);}void pop(){vector<T>::pop_back();}const T& top(){return vector<T>::back();}bool empty(){return vector<T>::empty();}};
}
int main()
{jiang::stack<int> st;st.push(1);st.push(2);st.push(3);while (!st.empty()){cout << st.top() << " ";st.pop();}return 0;
}

2.基类和派生类之间的转换

  • public继承的派生类对象 可以赋值给基类的指针 / 基类的引用。有个形象的说法叫切片或者切割。寓意把派生类中基类那部分切出来,基类指针或引用指向的是派生类中切出来的基类那部分。
  • 基类对象不能赋值给派⽣类对象。
  • 基类的指针或者引用可以通过强制类型转换赋值给派生类的指针或者引用。但是必须是基类的指针是指向派⽣类对象时才是安全的。这里基类如果是多态类型,可以使用RTTI(Run-Time Type Information)的dynamic_cast 来进行识别后进行安全转换。
    在这里插入图片描述
int main()
{jiang::stack<int> st;st.push(1);st.push(2);st.push(3);while (!st.empty()){cout << st.top() << " ";st.pop();}return 0;
}
class Person
{
protected:string _name; // 姓名string _sex; // 性别int _age; // 年龄
};
class Student : public Person
{
public:int _No; // 学号
};
int main()
{Student sobj;// 1.派⽣类对象可以赋值给基类的指针/引⽤Person* pp = &sobj;Person& rp = sobj;// ⽣类对象可以赋值给基类的对象是通过调⽤后⾯会讲解的基类的拷⻉构造完成的Person pobj = sobj;//2.基类对象不能赋值给派⽣类对象,这⾥会编译报错sobj = pobj;return 0;
}
http://www.dtcms.com/wzjs/346296.html

相关文章:

  • 用 htmi5做网站网络推广渠道和方式
  • 深圳做网站小程序站长工具查询网
  • 洛阳网站建设电话seo推广工具
  • 0元创业加盟代理百度关键词优化
  • 动态网站建设期末考试天津seo网站推广
  • 物流做网站哪家好招工 最新招聘信息
  • 动态网免费seo技术教程
  • 泸州百度做网站联系东营网站推广公司
  • 电子商务网站建设特点免费搭建网站的软件
  • 网站插入百度地图山东济南最新事件
  • 做网站小程序seo搜索引擎优化名词解释
  • mini主机做网站服务器品牌推广活动方案
  • 网站根目录在哪儿推广一般收多少钱
  • 个人网站备案麻烦网络营销的特征和功能
  • 多语言外贸网站建设网址收录平台
  • 网页设计作品欣赏分析汕头seo外包机构
  • 松江团购做网站简述在线推广网站的方法
  • jsp网站开发遇到的问题软媒win7优化大师
  • 百度收录提交之后如何让网站更快的展示出来软文是什么文章
  • 小型手机网站建设企业seo关键词推广方式
  • 西宁市城中区建设局网站长沙网站seo方法
  • 响应式网站建设服务器在线seo工具
  • 目前做的比较好的法律网站有哪些网络营销策略的特点
  • 石狮住房和城乡建设网站谷歌搜索引擎google
  • 做网站活动重庆seo点击工具
  • 哪些网站可以做公司制度宁波seo排名优化
  • 著名商业空间设计案例济南公司网站推广优化最大的
  • 如何手机做网站上海整站seo
  • 哈尔滨自助建站系统网络营销推广计划
  • 广州技术支持 骏域网站建设在线生成个人网站免费