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

广州教育网站设计公司在建工程项目查询

广州教育网站设计公司,在建工程项目查询,页面异常导致本地路径泄漏 wordpress,厦门网站建设咨询概述 C 面向对象编程(OOP)是一种以对象为中心的编程范式,它将数据和操作数据的方法封装在一起,通过类和对象来组织代码。视频教程:https://pan.quark.cn/s/41d99910ce32 1. 类(Class)与对象&…

概述

  • C++ 面向对象编程(OOP)是一种以对象为中心的编程范式,它将数据和操作数据的方法封装在一起,通过类和对象来组织代码。
  • 视频教程:https://pan.quark.cn/s/41d99910ce32

1. 类(Class)与对象(Object)

  • :是一种用户自定义的数据类型,包含数据成员(属性)和成员函数(方法),用于描述一类事物的共同特征和行为。
  • 对象:是类的实例,通过类创建,拥有类定义的属性和方法。
// 类的定义
class Person {
private:// 私有数据成员(只能在类内部访问)string name;int age;public:// 公有成员函数(类外部可访问)void setInfo(string n, int a) {name = n;age = a;}void display() {cout << "Name: " << name << ", Age: " << age << endl;}
};// 创建对象并使用
int main() {Person p1;  // 创建Person类的对象p1p1.setInfo("Alice", 25);p1.display();return 0;
}

2. 封装(Encapsulation)

  • 将数据和操作数据的方法捆绑在一起,隐藏对象的内部实现细节,只通过公共接口与对象交互。
  • 通过访问控制符实现:private(私有,仅类内访问)、public(公有,任何地方可访问)、protected(保护,类内和派生类可访问)。

3. 继承(Inheritance)

  • 允许一个类(派生类)继承另一个类(基类)的属性和方法,实现代码复用和层次化设计。
  • 派生类可以添加新成员或重写基类方法。
// 基类
class Animal {
public:void eat() {cout << "Animal is eating" << endl;}
};// 派生类,继承自Animal
class Dog : public Animal {
public:void bark() {cout << "Dog is barking" << endl;}
};int main() {Dog dog;dog.eat();  // 继承基类的方法dog.bark(); // 派生类自己的方法return 0;
}

4. 多态(Polymorphism)

  • 同一操作作用于不同对象,产生不同的行为。
  • 分为编译时多态(函数重载、运算符重载)和运行时多态(虚函数与动态绑定)。
class Shape {
public:// 虚函数,允许派生类重写virtual void draw() {cout << "Drawing a shape" << endl;}
};class Circle : public Shape {
public:// 重写基类的虚函数void draw() override {cout << "Drawing a circle" << endl;}
};class Square : public Shape {
public:void draw() override {cout << "Drawing a square" << endl;}
};int main() {Shape* shape1 = new Circle();Shape* shape2 = new Square();shape1->draw();  // 调用Circle的draw()shape2->draw();  // 调用Square的draw()delete shape1;delete shape2;return 0;
}

5. 其他重要概念

  • 构造函数:用于对象初始化的特殊成员函数,与类同名,无返回值。
  • 析构函数:对象销毁时自动调用的特殊成员函数,用于释放资源,格式为 ~类名()
  • 友元函数/类:允许外部函数或类访问类的私有成员,但会破坏封装性,谨慎使用。
  • 抽象类:包含纯虚函数(virtual void func() = 0;)的类,不能实例化,只能作为基类。

面向对象编程的优势

  • 代码复用性高(通过继承)
  • 模块化和可维护性好(通过封装)
  • 扩展性强(通过多态和继承)
  • 更符合人类对现实世界的认知方式

C++ 的面向对象特性使其非常适合开发大型、复杂的软件系统,如游戏引擎、操作系统等。

http://www.dtcms.com/a/511755.html

相关文章:

  • 【瀑布流大全】分析原理及实现方式(微信小程序和网页都适用)
  • wordpress网站的常规安全设置经验分享
  • 代码随想录Day53|110. 字符串接龙、105.有向图的完全联通、106. 岛屿的周长
  • 做婚恋网站这几年做哪个网站致富
  • 【案例实战】听歌学英语鸿蒙APP从零到上架全流程回顾
  • 基于频域的数字盲水印blind-watermark
  • 三、网站开发使用软件环境中小企业建站的方法
  • 开源 Linux 服务器与中间件(八)数据库--MariaDB
  • Mac OS 安装 VirtualBox
  • wordpress卡密系统源码主题站长工具查询seo
  • 宁波快速建站公司附近的装修公司地点
  • 物联网运维中的自适应网络拓扑重构技术
  • jenkins介绍与部署
  • Attention:MHA->MQA->GQA->MLA
  • 拥塞控制原理
  • Flink Kafka 生产者原理与实现
  • 路由器和机顶盒的射频核心:深入解析PA、LNA、PHY与滤波器
  • Java----set
  • python编程网站推荐郑州云帆网站设计
  • 如何做论文网站给我一个用c 做的网站
  • 青岛网站排名公司自己的网站如何让百度收录
  • MQTT主题架构的艺术:从字符串拼接走向设计模式
  • i.MAX6ULL Linux LED 字符设备驱动代码分析
  • Linux中基数树的初始化
  • 4.3 二维数组
  • 【C语言实战(40)】C语言查找算法:从基础到实战的效率进阶
  • 洛谷 P2949 [USACO09OPEN] Work Scheduling G
  • 建站公司杭州南宁制作网站服务商
  • Deepseek-ocr论文精读
  • 【完整源码+数据集+部署教程】【文件&发票】发票信息提取系统源码&数据集全套:改进yolo11-ContextGuided