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

网站平台搭建怎么弄的四川省建设网站

网站平台搭建怎么弄的,四川省建设网站,vs2008做网站教程,企业网页制作1. 默认访问控制 这是struct和class最显著的区别: struct: 默认的成员访问权限是public。 默认的继承方式是public继承。 class: 默认的成员访问权限是private。 默认的继承方式是private继承。 示例:默认访问控制 struc…

1. 默认访问控制

这是structclass最显著的区别:

  • struct

    • 默认的成员访问权限是public

    • 默认的继承方式是public继承。

  • class

    • 默认的成员访问权限是private

    • 默认的继承方式是private继承。

示例:默认访问控制
struct MyStruct {int x;  // 默认是 public
};class MyClass {int x;  // 默认是 private
};int main() {MyStruct s;s.x = 10;  // 合法,x 是 publicMyClass c;// c.x = 10;  // 错误,x 是 privatereturn 0;
}

2. 设计意图

  • struct

    • 通常用于表示简单的数据结构,尤其是当数据成员需要直接访问时。

    • 常用于与C语言兼容的场景,或者不需要复杂封装的情况。

  • class

    • 通常用于表示更复杂的对象,强调封装和数据隐藏。

    • 适合实现面向对象的设计模式(如继承、多态等)。


3. 继承的默认访问控制

  • struct

    • 默认继承方式是public继承。

    • 例如:struct Derived : Base {},等价于struct Derived : public Base {}

  • class

    • 默认继承方式是private继承。

    • 例如:class Derived : Base {},等价于class Derived : private Base {}

示例:继承的默认访问控制
struct Base {int x;
};struct DerivedStruct : Base {  // 默认是 public 继承void print() { std::cout << x; }
};class DerivedClass : Base {  // 默认是 private 继承void print() {// std::cout << x;  // 错误,x 在 Base 中是 private(因为默认是 private 继承)}
};

4. 使用场景

  • struct

    • 适合用于简单的数据聚合,例如点(Point)、矩形(Rectangle)等。

    • 适合与C语言代码交互时使用。

  • class

    • 适合用于复杂的对象模型,例如学生(Student)、车辆(Vehicle)等。

    • 适合需要封装和数据隐藏的场景。

5. 代码示例对比

以下是一个structclass的对比示例:

使用struct
#include <iostream>
#include <string>struct Person {std::string name;  // 默认是 publicint age;           // 默认是 publicvoid printInfo() {std::cout << "Name: " << name << ", Age: " << age << std::endl;}
};int main() {Person p;p.name = "Alice";  // 可以直接访问p.age = 25;        // 可以直接访问p.printInfo();     // 输出: Name: Alice, Age: 25return 0;
}
 使用class
#include <iostream>
#include <string>class Person {std::string name;  // 默认是 privateint age;           // 默认是 privatepublic:void setName(const std::string& n) { name = n; }void setAge(int a) { age = a; }void printInfo() {std::cout << "Name: " << name << ", Age: " << age << std::endl;}
};int main() {Person p;p.setName("Alice");  // 必须通过公共方法访问p.setAge(25);        // 必须通过公共方法访问p.printInfo();       // 输出: Name: Alice, Age: 25return 0;
}

6. 总结对比表

特性structclass
默认访问控制成员默认是public成员默认是private
默认继承方式默认是public继承默认是private继承
设计意图简单数据聚合,与C兼容复杂对象模型,强调封装
常见用途点、矩形、配置参数等学生、车辆、银行账户等

7. 选择struct还是class

  • 如果需要直接访问数据成员,或者与C语言兼容,优先使用struct

  • 如果需要封装和数据隐藏,或者实现复杂的面向对象设计,优先使用class

在实际开发中,structclass的选择更多是基于设计意图和代码风格,而不是严格的规则。 

http://www.dtcms.com/wzjs/543522.html

相关文章:

  • 河南网站托管优化提供石家庄网站推广
  • 代码编辑器做热点什么网站好如何创建wordpress数据库文件
  • 友情下载网站网站缺点
  • 网站备案跟网安备案区别阿里云域名购买官网
  • 金华手机建站模板win优化大师
  • wordpress网站描述如何自己做音频网站
  • 淘客免费交易网站建设前端培训的机构
  • 佛山企业网站设计公司本地建站discuz
  • 用几个域名做网站好网站服务器租赁合同
  • 网站制作的销售对象wordpress手机版加搜索
  • 做网站所需要的代码wordpress您找的页面不存在
  • 手机网站优化指南应用开发工程师
  • 万网网站空间购买无锡整站百度快照优化
  • 如何做网站标题wordpress插件项目管理
  • 哪些网站免费做职业测评石家庄网站建设哪里好
  • 邹平网站建设公司文章管理系统网站模板
  • 学校网站怎么做的好处建一个网站的价格
  • 几年前我为客户建设网站犀牛做网站的公司
  • 南阳网站建设seo设计联盟网站
  • 怎么在网上接网站建设pc做网站服务器
  • 网站拒绝了您的访问wordpress h标签
  • 嘉兴网站建设推广网站商业授权含义
  • 怎么做网站推广方案怎么减少wordpress网站cpu占用
  • 电商网站设计文档长沙官网优化公司
  • 无障碍浏览网站怎么做网站建设交印花税吗
  • 网站建设策划书建立平台网站要多久
  • 百度智能建站系统网站建设后的团队总结
  • 网站建设应该学什么软件九创 wordpress
  • 海洋cms怎么做电影网站做网站有多赚钱
  • 做健康食品的网站网站群信息管理系统