WordPress多用户建站,手机端网站推广,一个公司是否能备案多个网站,四川省工程建设信息网面向对象 面向过程编程#xff1a; 数据和函数分离#xff1a;在C语言中#xff0c;数据和函数是分开定义和操作的。数据是通过全局变量或传递给函数的参数来传递的#xff0c;函数则独立于数据。函数为主导#xff1a;C语言以函数为主导#xff0c;程序的执行流程由函数…面向对象 面向过程编程 数据和函数分离在C语言中数据和函数是分开定义和操作的。数据是通过全局变量或传递给函数的参数来传递的函数则独立于数据。函数为主导C语言以函数为主导程序的执行流程由函数调用和返回来控制。缺乏封装性C语言中没有类和对象的概念无法将数据和相关函数封装在一起。数据和函数在代码中是松散组织的。 面向对象编程 类和对象C引入了类和对象的概念允许将数据和操作数据的函数封装在一起。类是一个模板用于创建对象的实例。封装和数据隐藏C中的类提供了封装的机制可以将数据和相关函数封装在类的内部并限制对类的私有成员的访问。这样可以隐藏数据的具体实现细节提高代码的安全性和可维护性。继承C支持继承机制允许创建新的类派生类通过继承现有类基类的属性和行为。继承可以实现代码的重用和扩展。多态性C支持多态性允许通过虚函数和函数重写实现在不同对象上执行相同的操作产生不同的行为。这提供了更灵活和可扩展的代码设计。动态内存管理C提供了new和delete操作符用于动态分配和释放内存。这使得在运行时动态创建、修改和销毁对象成为可能。 人把大象放进冰箱 面向过程 打开冰箱放进大象关闭冰箱 面向对象 人 - 冰箱 - 大象(对象)人 - 打开和关闭冰箱将物品放入冰箱冰箱 - 开门以及关门大象 - 进入冰箱属性 类结构体 相同点 成员变量类和结构体都可以包含成员变量用于存储数据。成员函数类和结构体都可以包含成员函数用于操作数据和提供其他功能。访问修饰符类和结构体都可以使用访问修饰符public、private、protected来控制成员的访问权限。对象实例化类和结构体都可以通过创建对象的实例来使用。 不同点 默认访问修饰符类的默认访问修饰符是private而结构体的默认访问修饰符是public。继承类支持继承机制可以通过继承实现类与类之间的关系而结构体不支持继承。对象的拷贝通过赋值操作符或拷贝构造函数创建类对象的副本时会复制对象的状态和数据。而结构体对象的拷贝只是简单地复制值。 示例 #include iostreamtypedef struct _Person
{
public: //公共属性 - 结构体内外都可以访问//成员变量(对象属性)int m_Sex; //0 nan 1 nvint m_Age;//成员函数void SetAge(int age){m_Age age;}int GetAge(){return m_Age;}}Person, *PPerson;class Animal
{
private: //私有属性 - 类内部可以访问类外部不可以访问//成员变量(对象属性)int m_Sex; //0 nan 1 nvint m_Age;public://成员函数void SetAge(int age){m_Age age;}int GetAge(){return m_Age;}
};int main()
{//结构体Person p1 { 0 };p1.m_Age 18;p1.m_Sex 0;printf(age - %d sex - %s \r\n, p1.m_Age, (p1.m_Sex 0 ? 男 : 女));Person p2 { 0 };p2.SetAge(20);std::cout p2.GetAge() std::endl;//类Animal Dog;Dog.SetAge(1);std::cout Dog.GetAge() std::endl;return 0;
}