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

python 做网站百度云建站

python 做网站,百度云建站,网上书店网站建设毕业设计,记事本做网站素材代码系列文章目录 总目录链接 文章目录 系列文章目录总目录链接 C面试基础系列-abstractOverview1.abstract关键点2.C 抽象类和纯虚函数的例子3.abstract重点关于作者 C面试基础系列-abstract Overview 在C中#xff0c;abstract这个概念主要与抽象类#xff08;Abstract Clas…系列文章目录 总目录链接 文章目录 系列文章目录总目录链接 C面试基础系列-abstractOverview1.abstract关键点2.C 抽象类和纯虚函数的例子3.abstract重点关于作者 C面试基础系列-abstract Overview 在C中abstract这个概念主要与抽象类Abstract Class相关。抽象类是一种不能被实例化的类它通常包含至少一个纯虚函数Pure Virtual Function。抽象类用于定义接口或行为规范可以被其他类继承并实现具体的功能。 1.abstract关键点 以下是一些关于C中抽象类的关键点 纯虚函数 纯虚函数是在基类中声明但没有实现的虚函数其声明方式是在函数声明的末尾加上 0。例如virtual void doSomething() 0; 抽象类的定义 包含至少一个纯虚函数的类就是抽象类。抽象类不能被直接实例化但可以被用作其他类的基类。 继承抽象类 派生类必须实现基类中的所有纯虚函数否则派生类也会是抽象类。 接口定义 抽象类通常用于定义接口让不同的派生类实现相同的接口。 多态性 抽象类支持多态性可以通过基类指针或引用调用派生类重写的虚函数。 示例 // 抽象类声明 class Shape { public:virtual void draw() const 0; // 纯虚函数virtual ~Shape() {} // 虚析构函数确保派生类析构正确性 };// 派生类实现抽象类 class Circle : public Shape { public:void draw() const override {// 绘制圆形的代码} };// 使用抽象类 Shape* shape new Circle(); shape-draw(); delete shape;抽象类的作用 强制实现接口确保所有派生类都实现了抽象类中定义的纯虚函数。代码复用基类可以提供一些通用的实现派生类可以重写或继承这些实现。 设计原则 遵循里氏替换原则Liskov Substitution Principle确保派生类可以替换其基类。 注意事项 抽象类通常包含虚析构函数以确保派生类的析构函数被正确调用。 C11及以后版本 C11引入了final关键字可以修饰类或成员函数表示它们不能被进一步继承或重写。 抽象类是C面向对象编程中的一个重要概念它有助于实现代码的模块化和可扩展性。通过使用抽象类开发者可以定义清晰的接口并在不同的派生类中实现这些接口的具体行为。 2.C 抽象类和纯虚函数的例子 在这个例子中Shape 是一个抽象类它定义了一个纯虚函数 getArea。 Circle 和 Rectangle 是 Shape 的派生类它们分别实现了 getArea 函数。由于 Shape 是抽象类我们不能直接创建它的实例但可以创建 Circle 和 Rectangle 的实例。 #include iostream// 抽象基类 class Shape { public:// 纯虚函数用于计算面积virtual double getArea() const 0;// 虚析构函数virtual ~Shape() {} };// 派生类 Circle class Circle : public Shape { public:// 构造函数Circle(double radius) : radius(radius) {}// 实现基类的纯虚函数double getArea() const override {return 3.14159 * radius * radius;}private:double radius; };// 派生类 Rectangle class Rectangle : public Shape { public:// 构造函数Rectangle(double width, double height) : width(width), height(height) {}// 实现基类的纯虚函数double getArea() const override {return width * height;}private:double width, height; };int main() {// 由于 Shape 是抽象类不能直接实例化// Shape shape; // 错误Circle circle(5.0);Rectangle rectangle(4.0, 6.0);std::cout Circle area: circle.getArea() std::endl;std::cout Rectangle area: rectangle.getArea() std::endl;return 0; }3.abstract重点 纯虚函数使一个类变成抽象类抽象类类型的指针和引用如果我们不在派生类中覆盖纯虚函数那么派生类也会变成抽象类抽象类可以有构造函数构造函数不能是虚函数而析构函数可以是虚析构函数 // 抽象类 class Base { public:Base(){ cout Constructor: Base endl; }virtual ~Base(){ cout Destructor : Base endl; }virtual void func() 0; };class Derived: public Base { public:Derived(){ cout Constructor: Derived endl; }~Derived(){ cout Destructor : Derived endl;}void func(){cout In Derived.func(). endl;} };当基类指针指向派生类对象并删除对象时我们可能希望调用适当的析构函数。 如果析构函数不是虚拟的则只能调用基类析构函数。 关于作者 微信公众号:WeSiGJGitHub:https://github.com/wesigj/cplusplusboysCSDN:https://blog.csdn.net/wesigj微博:-版权声明本文为博主原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接和本声明。
http://www.w-s-a.com/news/650341/

相关文章:

  • 宣讲网站建设wordpress多媒体主题
  • 如何成立网站互联网开发是做什么的
  • 网站首页的尺寸做多大网页图片排版
  • 龙岩天宫山索道多少钱河南网站排名优化哪家好
  • 北京做网站设计程序员和网站开发
  • 个人 做自媒体 建网站图片制作成视频的手机软件
  • h5 建站网站 移动端重庆潼南网站建设价格
  • 商企在线营销型网站怎么做时光网站
  • 网站建设方案论文1500竞价托管哪家便宜
  • 使用cdn的网站宣武网站建设
  • 营销型网站怎么建设企业网站Wap在线生成
  • 网站建设服务费应该做到什么科目广州网页制作服务商
  • 网站显示500错误怎么解决方法店面设计模板
  • 网站备案icp文化传媒有限公司
  • 北京企业建站模板微信公众号商城怎么制作
  • 制作网站 公司简介大型做网站的公司
  • 北京网站开发建设南昌网站小程序开发
  • 网站如何做ip签名图片宁波互联网
  • 中山小榄网站建设长沙网络营销品牌排名
  • 推广优化厂商联系方式网站推广教程优化整站
  • 为外国企业做中文网站建设网站建设单位哪家好
  • 生物制药公司网站模板有没有专业做steam创客的网站
  • 福田做棋牌网站建设找哪家效益快弄一个微信小程序多少钱
  • 成都哪家做网站建设比较好做推广赚钱的网站
  • 常州专门做网站的公司有哪些网页模板下载网站10
  • linx服务器怎么做网站做长页网站
  • 汕头网站建设sagevis服装设计公司有什么职位
  • 网站流量分析报告医院网站制作公司
  • 仿58网站怎么做邯郸网站设计多少钱
  • 广州网站制作开发wordpress中文固定连接