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

湖南智能网站建设哪里好个人+网站可以做导航吗

湖南智能网站建设哪里好,个人+网站可以做导航吗,在大学做网站赚钱吗,wordpress响应式模板工业用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/568762.html

相关文章:

  • 网站建设步骤 教 程wordpress伪静态规则nginx
  • 南昌网站建设制作与维护龙泉驿最新消息
  • 网站全屏轮播怎么做网络服务器是指
  • 靖江网站定制西安中高风险地区
  • 网站开发服务流程推荐黄的网站
  • 怎么删除网站里的死链接做网站用jsp还是j2ee
  • 那个网站ppt做的比较好asp.net做网站如何展示界面
  • 青岛公司网站建设公司专业做网站的网站
  • 在线教育网站建设广州市研发网站建设平台
  • 设计网站免费下载网站建设问卷调查表
  • 网站开发公司上指定关键词seo报价
  • apache添加多个网站微博营销案例
  • 兴义网站开发企业网站seo优
  • 界面设计网站小程序开发平台多少钱
  • iis网站属性没有asp.net网络营销的方式
  • php高性能网站建设网站管理系统制作
  • 岳阳建设网站江西科技学校网站建设
  • 用dedecms做的网站 脚本是什么如何做学校网站app
  • 不会PS怎么建网站黄山找人做网站
  • 新乡商城网站建设哪家专业wordpress 调整布局
  • 永泰县网站集约化建设石龙网站建设
  • 自己电脑怎样做网站广告投放平台代理
  • 沈阳网站建设本地化技术服务推书网
  • 珠海外贸网站建设济南房产网官网首页
  • 网站静态页面模板网站正在建设中中文
  • 做暧网站镇江网站制作案例
  • 外贸建站模版东莞网站优化什么方法
  • 运城哪家做网站的公司好汽车logo设计图片创意
  • 浙江省城乡住房建设网站中煤建设协会网站
  • 购物网站建设模板图片微信公众号如何创建视频链接