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

湖北网站建设哪家专业推广宣传文案

湖北网站建设哪家专业,推广宣传文案,深圳软件开发招聘信息,河南网站优化推广类的继承 ● 通过类的继承(派生)来引入“是一个”的关系( 17.2 — Basic inheritance in C) – 通常采用 public 继承( struct V.S. class ) – 注意:继承部分不是类的声明 – 使用基类的指针…

类的继承
● 通过类的继承(派生)来引入“是一个”的关系( 17.2 — Basic inheritance in C++)
在这里插入图片描述

– 通常采用 public 继承( struct V.S. class )
– 注意:继承部分不是类的声明
– 使用基类的指针或引用可以指向派生类对象

struct Base
{};
struct Base2 : Base
{};struct Derive : Base2 //注意,不是声明,该语句等价于struct Derive : public Base,即struct缺省继承方式为public
//class Derive : Base2 //等价于class Derive : private Base,即class缺省继承方式为private
{};int main()
{Derive d;Base& ref = d; //OKBase* ptr = &d; //OK
}

– 静态类型 V.S. 动态类型

struct Base
{void funBase() {} //静态类型
};
struct Base2 : Base
{void funBase2() {} //静态类型
};
struct Derive : Base2
{void funDerive() {} //静态类型
};
struct Derive2 : Base2
{void funDerive2() {} //静态类型
};
int main()
{Derive d;Derive2 d2;Base& ref = d; //静态类型: 即编译期就能决定的类型且不能改变Base* ptr = &d; //动态类型ref.funBase(); //OK,静态类型没有改变ref.funDerive(); //静态类型不能发生改变,Error: No member named 'funDerive' in 'Base'ptr = &d2; //OK,动态类型可以在运行期发生改变return 0;
}

– protected 限定符:派生类可访问

struct Base
{
private:void funBase() {}
};
struct Derive : Base
{void funDerive(){funBase(); //Error: 'funBase' is a private member of 'Base'}
};
int main()
{Base b;b.funBase(); //Error: 'funBase' is a private member of 'Base'return 0;
}
struct Base
{void funBase() {}
};
struct Derive : Base
{void funDerive(){funBase(); //OK}
};
int main()
{Base b;b.funBase(); //OKDerive d;d.funBase(); //OKd.funDerive(); //OKreturn 0;
}
struct Base
{
protected:void funBase() {}
};
struct Derive : Base
{void funDerive(){funBase(); //OK}
};
int main()
{Base b;b.funBase(); //Error: 'funBase' is a protected member of 'Base'Derive d;d.funBase(); //Error: 'funBase' is a protected member of 'Base'd.funDerive(); //OKreturn 0;
}

● 类的派生会形成嵌套域
– 派生类所在域位于基类内部
– 派生类中的名称定义会覆盖基类

struct Base
{int val = 2;
};
struct Derive : Base
{void funDerive(){std::cout << val << std::endl;}int val = 3;
};
int main()
{Derive d;d.funDerive();return 0;
}

在这里插入图片描述

struct Base
{int val = 2;
};
struct Derive : Base
{void funDerive(){std::cout << val << std::endl;}//int val = 3;
};
int main()
{Derive d;d.funDerive();return 0;
}

在这里插入图片描述

– 使用域操作符显式访问基类成员

struct Base
{int val = 2;
};
struct Derive : Base
{void funDerive(){std::cout << val << std::endl;std::cout << Base::val << std::endl;}int val = 3;
};
int main()
{Derive d;d.funDerive();return 0;
}

在这里插入图片描述

– 在派生类中调用基类的构造函数

struct Base
{Base(){std::cout << "Base()\n";}
};
struct Derive : Base
{Derive(){std::cout << "Derive()\n";}
};
int main()
{Derive d;return 0;
}

在这里插入图片描述

struct Base
{Base(int){std::cout << "Base()\n";}
};
struct Derive : Base
{Derive(int a) //缺省构造函数调用基类的缺省构造函数,Error: Constructor for 'Derive' must explicitly initialize the base class 'Base' which does not have a default constructor{std::cout << "Derive()\n";}
};
int main()
{Derive d;return 0;
}
struct Base
{Base(int){std::cout << "Base()\n";}
};
struct Derive : Base
{Derive(int a) //缺省构造函数调用基类的缺省构造函数,Error: Constructor for 'Derive' must explicitly initialize the base class 'Base' which does not have a default constructor: Base(a) //显式调用基类的构造函数{//Base::Base(a); //Error: Qualified reference to 'Base' is a constructor name rather than a type in this contextstd::cout << "Derive()\n";}
};
int main()
{Derive d(2);return 0;
}

在这里插入图片描述

参考
深蓝学院: C++基础与深度解析
17.2 — Basic inheritance in C++

http://www.hkea.cn/news/480494/

相关文章:

  • 现代广告创意设计郑州百度网站优化排名
  • 兰州网站建设哪家专业谷歌seo网站推广
  • 崇信门户网站留言回复上优化seo
  • 网站建设费用有哪些站长工具搜索
  • 云主机能干什么独立站seo怎么做
  • 苏州专业网站建设设计公司免费发布推广信息的b2b
  • 空间 两个网站网络推广培训班
  • 零基础学做网站推广公司简介
  • 公司做网站最好引擎搜索器
  • 济南手工网站建设北京百度seo服务
  • 网站建设原创百度seo官网
  • 徐州企业网站建设衡阳seo服务
  • 网站自然排名优化seo专员是什么职业
  • 视频网站制作广告代理公司
  • wordpress主题域名授权密钥生成镇海seo关键词优化费用
  • 北京东直门+网站建设汕头seo外包平台
  • 长沙 做网站企业网络组网设计
  • 北京哪家做网站优化产品seo基础优化
  • 招商加盟网站建设百度网址安全检测
  • 知名做网站费用2024年将爆发新瘟疫
  • 河北省城乡与建设厅网站企业关键词排名优化哪家好
  • 网站开发合同协议百度百科推广费用
  • 推荐黄的网站产品推广策划
  • 济南网站建设设计公司线上运营推广
  • 小清新 wordpressseo排名是什么意思
  • 从客户—管理者为某一公司做一份电子商务网站管理与维护的方案自媒体是如何赚钱的
  • 黑龙江住房和城乡建设厅网站首页每日精选12条新闻
  • 做网站工作都包括什么企业网站搭建
  • 自己可以进行网站建设吗河北网站推广
  • 网站建设与管理论文seo整站怎么优化