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

linux用.net做网站建设一个国外服务器的网站

linux用.net做网站,建设一个国外服务器的网站,西安网站建设招聘,美丽说网站模板聚合类 (1)What(什么是聚合类) 本质是一个自定义类型的数据结构(结构体或类),但聚合类有以下特性: 所有的成员都是public没有任何构造函数没有基类类内部没有初始值 (2)Why(聚合类的作用&…

聚合类

(1)What(什么是聚合类)

本质是一个自定义类型的数据结构(结构体或类),但聚合类有以下特性:

  • 所有的成员都是public
  • 没有任何构造函数
  • 没有基类
  • 类内部没有初始值

(2)Why(聚合类的作用)

主要目的是提供一种简单且高效的方式来组织和管理数据。它们通常用于表示简单的 数据结构,如结构体或记录类型,而不涉及复杂的行为和操作

(3)How(如何定义和使用聚合类)

struct Point{double dx;double dy;
};
Point pt01 = {1.1, 2.2};
Point pt02{3.3, 4.4};

嵌套类

(1)What(什么是嵌套类)

定义或声明在类内部的类,它可以访问外部类的私有成员,并能在外部类作用域内使用

(2)Why (嵌套类的作用)

封装和隐藏:将嵌套类进行私有化,实现封装和隐藏
组织和结构化:将一个类嵌套到另一个类,可以清晰的表达两个类之间的关系
实现设计模式:如工厂模式、建造者模式等
命名空间嵌套:有助于避免命名空间冲突

(3)How(如何使用嵌套类)

class Student 
{
private:string name;int age;
...
}
class Grade
{
private:Student student; //Student在类Grade中声明,Student属于类Grade的嵌套类
...
}

局部类

(1)What(什么是局部类)

定义在函数内部或代码块中的类被称为局部类,它的作用域是该函数内部或代码块中

局部类具有以下特性:

  • 不允许存在静态的成员
  • 只允许访问外层作用域的静态变量、枚举和类型名
  • 可以访问全局变量(使用:: ):😃

(2)Why(局部类的作用)

  • 封装:隐藏细节
  • 避免命名冲突:由于只对作用域可见,有助于避免命名冲突,提供更好的隔离性
  • 增加代码的可维护性

union类

(1)What(什么是union类)

本质是一种类,这种类有以下特点:union类可以包含多个成员,但同一时刻只能使用其中一个成员,当其中一个成员被赋值时,其它成员就会变成未定义的状态

(2)Why(union类的作用)

节省内存:当需要存储多种内存数据,但是每次只使用其中一种时
灵活处理异构数据:提供了一种灵活的数据结构,在无需定义多个变量或复杂数据结构的情况下存储和操作不同类型的数据

(3)How(如何使用union类)

struct Rectangle{ float height; float width; }; 
struct Circle { float radius; };
// 定义 union 类 
union Shape {Rectangle rect; Circle circle;
};
float calculateArea(const Shape &shape, string mode) 
{ if (mode == "circle") return 3.1415926 * shape.circle.radius * shape.circle.radius; if (mode == "rect")  return shape.rect.width * shape.rect.height;return 0;
}
// 创建 union 对象 Shape shape;
string mode = "circle"; 
shape.circle.radius = 5;
cout << shape.rect.width << "," << shape.rect.height << endl; //此处会报错
std::cout << "圆的面积:" << calculateArea(shape, mode) << std::endl; // 打印:78.5398 
mode = "rect";
shape.rect.height = 4; 
shape.rect.width = 6;
std::cout << "矩形的面积:" << calculateArea(shape, mode) << std::endl; // 打印:24

(4)匿名的union类

A.What(什么是匿名的union类)

本质:一个union类,它具有以下特性

  • 一旦定义了匿名的union类,编译器就会为它创建一个未命名的对象
  • 作用域内能够访问大匿名union类的所有成员
  • 匿名的union类中的成员必须是public的
  • 匿名的union类中不能定义成员函数,只能作纯数据的结构体使用

B.How(如何使用union类)

class UnionBaseType
{
private: enum {INT, DOUBLE, CHAR, STRING } tp; // 通过匿名枚举类型定义一个变量 tp union {int ival; double dval; string sval; }; // 外层作用域可直接访问匿名 union 中的成员 
public:// 默认构造函数 UnionBaseType() : tp(INT), ival(0) {} // 拷贝构造函数UnionBaseType(const UnionBaseType &obj){tp = obj.tp; copyUnion(obj);}~UnionBaseType(){if (tp == STRING) sval.~string(); }void copyUnion(const UnionBaseType &obj){switch (obj.tp){case UnionBaseType::INT: ival = obj.ival; break; case UnionBaseType::DOUBLE: dval = obj.dval; break; case UnionBaseType::STRING: new (&sval) string(obj.sval); break;// 实现对对象的拷贝 default: break;} // 对 int 成员进行赋值 UnionBaseType &operator=(int ival_) {if (tp == STRING) sval.~string(); tp = UnionBaseType::INT; ival = ival_; return *this;}// 对 double 成员进行赋值 UnionBaseType &operator=(double dval_) {if (tp == STRING) sval.~string();tp = UnionBaseType::DOUBLE; dval = dval_; return *this;}// 对 string 成员进行赋值 UnionBaseType &operator=(const string &sval_) {if (tp == STRING) sval = sval_;else new (&sval) string(sval_); tp = UnionBaseType::STRING; return *this;}// 展示信息 void show() const{if (tp == INT) cout << ival << endl; if (tp == DOUBLE) cout << dval << endl; if (tp == CHAR) cout << cval << endl; if (tp == STRING) cout << sval << endl;}
}

================================================================================

C++知识点总结全系列文章索引:
【C++知识点总结全系列 (01)】:数据类型、数据类型转换和变量
【C++知识点总结全系列 (02)】:C++中的语句、运算符和表达式详细总结
【C++知识点总结全系列 (03)】:函数(函数参数传递、可变参数、函数返回值等详细介绍)
【C++知识点总结全系列 (04)】:C++类的详细总结与分析
【C++知识点总结全系列 (05)】:IO 类的详细总结和分析
【C++知识点总结全系列 (06)】:STL六大组件详细总结与分析- 配置器、容器、迭代器、适配器、算法和仿函数

【C++知识点总结全系列 (07)】:模板与泛型编程详细总结与分析
【C++知识点总结全系列 (08)】:面向对象编程OOP

http://www.yayakq.cn/news/583105/

相关文章:

  • 建设一个网站需要哪些seo基础培训机构
  • 临沂做网站建设的公司展馆展厅设计方案
  • 网站集约化建设会议长治网站建设龙采科技技术支持
  • 网站在百度上搜索不到台州企业网站搭建电话
  • 小时的网站建设广州网络推广服务商
  • 中国水运建设行业协会网站上海的网站建设公司
  • 高端网站制新网备案成功了怎么做网站
  • 免费文案素材网站东莞网站快速排名
  • 梅州市建设培训中心网站wordpress 添加搜索
  • 宁波网站建设yiso西安模板建站定制
  • 乡村振兴网站建设wordpress评论等级插件
  • 做职业测评的网站WordPress软件连接不了网站
  • 三合一网站建设系统网站备案网站类型
  • 淄博市建设局网站百度关键词挖掘查询工具
  • 中铁建设集团有限公司门户网站深圳市房地产信息网查询系统
  • 如何 html5 网站logo网站有哪些
  • 内部网站搭建国外一个专门做配乐的网站
  • 用easyui做的网站wordpress 新闻采集站
  • 诸暨城乡与建设局网站电影网站建设方案
  • 如何看网站是不是织梦做的展厅装修设计公司有
  • 字画价格网站建设方案品牌营销策略包括哪些内容
  • 购物网站开发的意义和目的wordpress小插件
  • 做物流的网站有哪些功能网站源码客户
  • 网站建设百度贴吧建网站的目的
  • 网站建设 开发wordpress hls
  • 网站如何建设目录结构校车网站建设
  • 网站配色 要用什么原则wordpress淘宝客 采集器
  • 深圳网站搜索广州网站优化系统
  • 全球最大设计网站网站右键屏蔽
  • 网站开发课程论文网站设计提成多少钱