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

3d建模素材网站东台做网站公司

3d建模素材网站,东台做网站公司,旅游网站建设ppt模板下载,腾讯企业邮箱登录页面在C编程语言中#xff0c;struct和class是两个定义数据类型的关键字。尽管它们看起来相似#xff0c;但它们之间有一些关键的异同。 基本定义 struct struct是从C语言继承而来的#xff0c;它用于定义一个结构体#xff08;structure#xff09;#xff0c;结构体是由…在C编程语言中struct和class是两个定义数据类型的关键字。尽管它们看起来相似但它们之间有一些关键的异同。 基本定义 struct struct是从C语言继承而来的它用于定义一个结构体structure结构体是由多个数据成员组成的一种用户自定义数据类型。在C中struct不仅仅用于定义数据成员还可以包含成员函数。 struct MyStruct {int data1;float data2;void display() {std::cout data1: data1 , data2: data2 std::endl;} };class class是C中的一个核心概念用于定义一个类。类是面向对象编程的基本构建块除了可以包含数据成员还可以包含成员函数、访问控制修饰符、构造函数、析构函数、以及其他特性。 class MyClass {int data1;float data2;public:MyClass(int d1, float d2) : data1(d1), data2(d2) {}void display() {std::cout data1: data1 , data2: data2 std::endl;} };访问控制 struct的访问控制 在struct中默认的访问控制级别是public。这意味着如果没有显式地声明成员的访问控制级别这些成员是公开的可以被外部代码访问。 struct MyStruct {int data1; // 默认是publicfloat data2;void display() { // 默认是publicstd::cout data1: data1 , data2: data2 std::endl;} };class的访问控制 在class中默认的访问控制级别是private。这意味着如果没有显式地声明成员的访问控制级别这些成员是私有的只能被类的成员函数访问。 class MyClass {int data1; // 默认是privatefloat data2;public:MyClass(int d1, float d2) : data1(d1), data2(d2) {}void display() {std::cout data1: data1 , data2: data2 std::endl;} };继承 在继承关系中struct和class的行为也有所不同。具体来说在继承时基类成员的默认访问控制级别不同 struct的继承 在struct中继承默认是public的。这意味着基类的public和protected成员在派生类中保持其访问控制级别。 struct BaseStruct {int baseData; };struct DerivedStruct : BaseStruct {void show() {std::cout baseData: baseData std::endl; // 继承默认是public} };class的继承 在class中继承默认是private的。这意味着基类的public和protected成员在派生类中默认变为private。 class BaseClass {int baseData; public:BaseClass(int d) : baseData(d) {}int getBaseData() { return baseData; } };class DerivedClass : BaseClass { public:DerivedClass(int d) : BaseClass(d) {}void show() {std::cout baseData: getBaseData() std::endl; // 继承默认是private需要通过public方法访问} };构造函数和析构函数 struct和class在定义构造函数和析构函数时没有本质区别。它们都可以包含默认构造函数、参数化构造函数、复制构造函数、移动构造函数、析构函数等。 struct中的构造函数和析构函数 struct MyStruct {int data1;float data2;MyStruct(int d1, float d2) : data1(d1), data2(d2) {}~MyStruct() { std::cout MyStruct destroyed std::endl; } };class中的构造函数和析构函数 class MyClass {int data1;float data2;public:MyClass(int d1, float d2) : data1(d1), data2(d2) {}~MyClass() { std::cout MyClass destroyed std::endl; } };小结 尽管struct和class在C中有许多相似之处它们之间的主要区别在于默认的访问控制级别和继承行为。总结如下 默认访问控制级别 struct的默认访问控制级别是public。class的默认访问控制级别是private。 继承默认访问控制级别 struct的继承默认是public。class的继承默认是private。 其他方面 struct和class都可以包含数据成员和成员函数都支持构造函数、析构函数、继承、多态等特性。 根据具体的需求和代码风格我们可以选择使用struct或class来定义数据类型。在简单的数据结构或需要所有成员默认公开的情况下可以选择使用struct在面向对象编程、需要更严格的访问控制时更常使用class。
http://www.zqtcl.cn/news/698763/

相关文章:

  • 怎样做水族馆网站wordpress第三方订阅地址
  • 东莞做网站注意事项如何查网站的百度快照
  • 做资源网站需要什么郑州哪有做网站的公司
  • 不属于网站架构开发一个游戏软件多少钱
  • 电子商务网站建设 市场分析广州有哪些做网站专业的公司
  • 广州网站建设南宁厦门城健建设有限公司网站
  • 课程网站开发的研究现状网页设计制作音乐网站
  • 建设工程法律网站网站美工做专题尺寸多少?
  • 甘肃制作网站godaddy wordpress空间
  • 做淘宝客网站要多少钱心理网站模板
  • 建设手机网站经验分享网站外链建设实例
  • 乔拓云网站注册外贸个人网站
  • 个人怎么做动漫短视频网站建设银行银监会官方网站
  • 长沙网站seo技术厂家山东济宁网站建设设计
  • 外贸网站制作有哪些做体育的网站
  • 广州哪里有做网站推广最牛的网站建
  • 建设网站用户名是什么原因世界500强企业排名2020
  • 创建网站要找谁手机网站后台源码
  • canvas网站源码网站静态和动态区别
  • 网站建设需要了解哪些方面数据分析工具
  • 求个网站没封的2021网站建设初步课程介绍
  • 沈阳网站前端网站建栏目建那些
  • 经典网站案例江苏省建设厅官网
  • 公司建设网站需要多少钱重庆房产网站建设
  • 鹤岗市建设局网站可信网站认证有用吗
  • 网站注册的账号怎么注销如何百度推广
  • 用wordpress制作网站模板阿里云网站建设合作
  • 金华建设公司网站宝武马钢集团公司招聘网站
  • 万州网站制作公司阳江市网站建设
  • 下载建设网站软件投资公司注册资金多少