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

有备案号的网站是公司的吗汕头企业网站

有备案号的网站是公司的吗,汕头企业网站,重庆建设集团网站首页,wordpress可以用火车头采集引言 C 是一种支持面向对象编程#xff08;OOP#xff09;的编程语言#xff0c;继承和多态是 OOP 的两个核心概念。通过继承#xff0c;我们可以创建新的类#xff0c;这些新类可以重用现有类的代码#xff0c;并且可以根据需要进行扩展或修改。多态则允许我们编写更加…引言 C 是一种支持面向对象编程OOP的编程语言继承和多态是 OOP 的两个核心概念。通过继承我们可以创建新的类这些新类可以重用现有类的代码并且可以根据需要进行扩展或修改。多态则允许我们编写更加通用和灵活的代码使得程序可以在运行时根据对象的实际类型执行不同的操作。 本文将详细介绍 C 中的继承机制、虚函数和纯虚函数的概念及其使用方法帮助读者理解并掌握这些重要的 OOP 特性。 1. 继承机制 1.1 定义继承 继承是面向对象编程中的一个重要特性它允许一个类子类从另一个类父类或基类继承属性和行为。通过继承子类不仅可以重用父类的代码还可以添加新的功能或修改已有的功能。 在 C 中使用 class 关键字定义类并通过冒号和关键字 public、protected 或 private 来指定继承方式 class BaseClass { public:void baseFunction() {std::cout Base function called. std::endl;} };class DerivedClass : public BaseClass { public:void derivedFunction() {std::cout Derived function called. std::endl;} }; 在这个例子中DerivedClass 继承了 BaseClass因此它可以访问 BaseClass 中的公共成员函数 baseFunction()。 1.2 继承方式 C 支持三种继承方式 公有继承 (public)子类可以访问父类的公有和保护成员但不能访问私有成员。子类的对象也可以访问父类的公有成员。保护继承 (protected)子类可以访问父类的公有和保护成员但不能访问私有成员。子类的对象不能访问父类的任何成员。私有继承 (private)子类只能访问父类的公有和保护成员但这些成员在子类中变为私有成员。子类的对象不能访问父类的任何成员。 选择合适的继承方式取决于具体的设计需求。通常情况下公有继承是最常用的继承方式。 1.3 构造函数和析构函数 当一个类继承自另一个类时构造函数和析构函数的行为也会受到影响。子类的构造函数会先调用父类的构造函数然后再初始化自己的成员变量。同样子类的析构函数会在父类的析构函数之前被调用。 class BaseClass { public:BaseClass() {std::cout Base constructor called. std::endl;}~BaseClass() {std::cout Base destructor called. std::endl;} };class DerivedClass : public BaseClass { public:DerivedClass() {std::cout Derived constructor called. std::endl;}~DerivedClass() {std::cout Derived destructor called. std::endl;} };int main() {DerivedClass obj;return 0; } 输出结果 Base constructor called. Derived constructor called. Derived destructor called. Base destructor called. 2. 虚函数 2.1 定义虚函数 虚函数是实现多态的关键。通过虚函数我们可以在派生类中重写基类的函数并在运行时根据对象的实际类型调用相应的函数版本。 在 C 中使用 virtual 关键字来声明虚函数 class BaseClass { public:virtual void show() {std::cout Base class show function. std::endl;} };class DerivedClass : public BaseClass { public:void show() override {std::cout Derived class show function. std::endl;} }; 在这个例子中BaseClass 中的 show() 函数被声明为虚函数而 DerivedClass 重写了这个函数。当我们通过基类指针或引用来调用 show() 函数时实际调用的是派生类的版本 int main() {BaseClass* ptr new DerivedClass();ptr-show(); // 输出: Derived class show function.delete ptr;return 0; } 2.2 虚函数表 C 编译器为每个包含虚函数的类生成一个虚函数表vtable其中包含了该类所有虚函数的地址。当通过基类指针或引用调用虚函数时编译器会根据对象的实际类型查找对应的虚函数地址并调用它。 2.3 override 和 final 关键字 override用于显式声明派生类中的函数是重写基类的虚函数。如果派生类中的函数名称或签名不匹配基类的虚函数编译器会报错。final用于禁止派生类进一步重写某个虚函数。 class BaseClass { public:virtual void show() 0; // 纯虚函数 };class DerivedClass : public BaseClass { public:void show() override final {std::cout Derived class show function. std::endl;} }; 3. 纯虚函数 3.1 定义纯虚函数 纯虚函数是一种特殊的虚函数它没有具体的实现只提供函数声明。包含纯虚函数的类被称为抽象类不能直接实例化。纯虚函数的作用是为派生类提供一个接口要求派生类必须实现该函数。 在 C 中使用  0 来声明纯虚函数 class BaseClass { public:virtual void show() 0; // 纯虚函数 };class DerivedClass : public BaseClass { public:void show() override {std::cout Derived class show function. std::endl;} }; 3.2 抽象类 包含纯虚函数的类称为抽象类。抽象类不能直接实例化但可以通过派生类来实现其接口。 int main() {// BaseClass obj; // 错误不能实例化抽象类DerivedClass obj;obj.show(); // 正确通过派生类实例化并调用return 0; } 3.3 混合使用虚函数和纯虚函数 有时我们希望某些函数在基类中有默认实现而另一些函数则强制派生类实现。这时可以混合使用虚函数和纯虚函数 class BaseClass { public:virtual void show() 0; // 纯虚函数virtual void display() {std::cout Base class display function. std::endl;} };class DerivedClass : public BaseClass { public:void show() override {std::cout Derived class show function. std::endl;} }; 总结 继承和多态是 C 面向对象编程的核心特性。通过继承我们可以重用代码并扩展功能通过虚函数和纯虚函数我们可以实现多态编写更加灵活和通用的代码。理解这些概念对于编写高质量的 C 程序至关重要。 希望本文能够帮助您更好地理解 C 中的继承机制、虚函数和纯虚函数。如果您有任何问题或建议请随时留言讨论 参考资料 C PrimerEffective Modern C
http://www.hkea.cn/news/14300383/

相关文章:

  • 大型的建设工程类考试辅导网站长春网络公司合作
  • 美橙建站五合一建站套餐申请wordpress如何开发手机版
  • 本地做网站绑定域名怎么做网页的超链接
  • 企业建设网站注意事项施工企业在施工过程中发现设计文件和图纸有差错的应当
  • wordpress怎么编辑网站建设网站赚的是什么钱
  • 建设中心小学网站涿州规划建设局网站
  • 济南网站建设与维护php 微信 网站建设
  • 百度爱采购网站网站策划书的撰写流程是什么
  • 公司网站开发软件建设阅读网站的意义
  • 永康市建设局网站怎样申请微信小程序卖货
  • 贵州省城乡与住房建设厅网站深圳网络推广公司推荐
  • 广元网站建设seo优化营销制作设计前台网站模板
  • 网站设计公司排行江苏营销型网站公司
  • 虚拟网站免费注册护理专业主要学什么
  • 厦门网站制作收费长沙营销型网站制
  • 潮州哪里有做网站网络服务包含哪些服务
  • 效果图代做网站p2p网站开发的流程图
  • 潍坊网站建设公司有哪些做货代在上面网站找客户比较多
  • 网站建设合作协议文本网站模版如何使用
  • 网站建设大公司域名备案查询网
  • 宜宾市网站建设虚拟网站建设
  • wordpress仿p站主题互联网应用技术学什么
  • wordpress怎么做两个语言网站页面模板图片大小
  • 宁波网站建设网站开发wordpress 域名访问还是临时域名
  • 都匀市网站建设少儿编程培训机构哪里好
  • 网站群建设意见公司网站建设宣传
  • 交通设施东莞网站建设广汉网站
  • 怎么设立网站可以做软件的网站
  • 北京校园网站建设互联网出版中的网站建设策划
  • 做网站一定要代码吗网站空间试用