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

企业app商城开发网站建设免费网站在线客服软件

企业app商城开发网站建设,免费网站在线客服软件,罗湖网站建设,网站设计的一般步骤是什么?主要内容 继承的概念 继承的方式 类型兼容 继承的概念 继承是面向对象编程的核心概念之一,它允许我们基于现在的类(称为基类或父类)创建新的类(称为派生类或子类)。派生类自动获得基类的所有特性(属性…
  • 主要内容
  •   继承的概念
  •   继承的方式
  •   类型兼容

继承的概念

继承是面向对象编程的核心概念之一,它允许我们基于现在的类(称为基类或父类)创建新的类(称为派生类或子类)。派生类自动获得基类的所有特性(属性与方法)。同时可以对其添加新的特性或修改继承带来的特性

class 派生类名 : 继承方式 基类名 {// 派生类的成员定义
};

一般是这种形式。

继承方式

C++提供了三种继承方式:

  1. public(公有继承)
  2. protected(保护继承)
  3. private(私有继承)

最常用的是公有继承,它保持了基类成员的访问权限。

这是一个简单的公有继承的办法

#include<iostream>
using namespace std;
//基类
class Person{
public:string name;int age;void display(){cout << "姓名: " << name << ",年龄" << age << endl;}
};
//派生类
class Student : public Person{
public:int studentID;void study(){cout << name << "正在学习" << endl;}
};int main()
{Student s;s.name = "张三";s.age  = 20;s.studentID = 10001;s.display();s.study();return 0;
}

继承:派生类(子类)自动获得基类(父类)的属性和方法,避免重复编码。

基类:被继承的类

派生类:继承基类的类

class 派生类名 继承方式 基类名 {  

    // 新增成员或重定义基类成员 

};  

继承的方式:

#include<iostream>
using namespace std;class Student{
public:void setGrade(string name);string getGrade();void setName(string name);string getName();
protected:string _grade;
private:string _name;
};class Undergraduate : public Student
{
public:Undergraduate(string major);    //声明构造函数void show();
private:string _major;
};void Student :: setGrade(string grade){_grade = grade;
}
string Student::getGrade(){return _grade;
}void Student :: setName(string name){_name = name;
}
string Student :: getName()
{return _name;
}Undergraduate::Undergraduate(string major){_major = major;
}
void Undergraduate::show()
{cout << "姓名" << getName() << endl;cout << "年级" << _grade << endl;cout << "专业:" << _major << endl;
}int main()
{Undergraduate stu("计算机信息工程");	//创建大学生类对象stustu.setGrade("大三");			//派生类对象调用基类成员函数设置年级stu.setName("zhangsan");		//派生类对象调用基类成员函数设置姓名stu.show();				//派生类对象调用新增成员函数显示学生信息return 0;}

基类的public成员在派生类中仍为public,可被外部访问。

保护继承:基类的public和protected成员在派生类中变为protected,只能被派生类及其子类访问

私有继承:基类的public和protected成员在派生类中变为private,外部不可访问,子类也不可访问(仅限当前派生类使用)。

类型兼容

公有继承下,派生类对象可当作基类对象使用,支持以下三种场景:

赋值兼容:派生类对象直接赋值给基类对象。

指针兼容:派生类对象的地址可赋给基类指针。

引用兼容:派生类对象可绑定到基类引用。

#include<iostream>
using namespace std;class Base{
public:Base();void show();
protected:string _name;
};class Derive : public Base{
public:Derive();void display();
};Base::Base() : _name("base") {}
void Base :: show(){cout << _name << "Base show()" << endl;
}
Derive :: Derive() {_name = "derive";}void Derive :: display(){cout << _name << "Derive show()" << endl;
}void func(Base* phase){phase->show();
}int main()
{Derive derive;Base base = derive;Base& qbase = derive; //使用对象derive作为Base类对象的引用qbase赋值Base* pbase = &derive;//使用对象derive作为Base类指针pbase赋值base.show();  //通过base类对象调用show函数qbase.show();  //通过base类对象引入调用pbase->show(); //运用base类指针调用func(&derive);  //取对象derive的地址作为func()函数的参数return 0;
}

http://www.dtcms.com/wzjs/78528.html

相关文章:

  • 一个网站能卖多少钱?昆明关键词优化
  • 昆明网站建设哪家最好重庆快速排名优化
  • 网站建设孝感营销软文100字
  • 青岛专业做网站优化在线网页服务器
  • 做电子签章登录那个网站如何建立网上销售平台
  • wordpress首页显示摘要数字深圳优化公司样高粱seo
  • 网站未备案可以做经营活动吗灰色关键词排名技术
  • 网站在线预约模板夫唯seo视频教程
  • 北京网络营销推广seo教程下载
  • 什么网站能通过做任务赚钱关键词排名优化官网
  • 网址你懂我意思正能量万秀服务不错的seo推广
  • 婚恋网站 没法做怎样制作免费网页
  • 业绩显示屏 东莞网站建设技术支持关键词查网站
  • 淘宝客自己做网站吗seo优化网站的注意事项
  • 河北网站建设市面价搜索引擎成功案例分析
  • wordpress设置xmlrpcseo技术论坛
  • 公司网站工商备案怎么做个人网站怎么制作
  • 旅游网站源代码模板泉州全网营销
  • 国内哪些公司做商城型网站靠谱吗网上推广赚钱方法
  • 怎样做企业手机网站首页sem是什么仪器
  • 建设安全网站的目的百度号注册官网
  • 玉林做绿化苗木网站的是哪个单位如何做好推广引流
  • 帮忙找人做网站seo关键字优化技巧
  • 龙岗网站优化公司案例百度官方网站登录
  • 建站公司有哪些服务北京seo外包公司要靠谱的
  • 宁河网站建设备案查询官网
  • 做彩票网站怎么样一键优化清理手机
  • 安防公司网站建设seo信息查询
  • 手机网站建设宣传好google免费入口
  • 水泵行业网站哪个做的好淘宝网官方网站