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

有什么设计网站开发公司岗位职责

有什么设计网站,开发公司岗位职责,在线制作印章软件,去国外做非法网站吗C 枚举、const、static的用法 一、类中枚举1.类中定义常量示例代码: 二、const和static的用途1. const的用途1.1 const修饰成员变量示例代码: 1.2 const修饰成员函数(非成员函数不能用const修饰)示例代码: 1.3 const修饰引用示例代码&#xf…

C++ 枚举、const、static的用法

  • 一、类中枚举
    • 1.类中定义常量
        • 示例代码:
  • 二、const和static的用途
    • 1. const的用途
      • 1.1 const修饰成员变量
        • 示例代码:
      • 1.2 const修饰成员函数(非成员函数不能用const修饰)
        • 示例代码:
      • 1.3 const修饰引用
        • 示例代码:
    • 2. static的用途
      • 2.1 修饰成员变量
        • 示例代码:修饰成员变量
      • 2.2 修饰成员函数
        • 示例代码1:静态成员函数可以通过类名直接调用
        • 示例代码2:静态成员函数中只能使用static修饰的成员变量

一、类中枚举

1.类中定义常量

写法一:使用枚举 enum 枚举类型的名字{black,white}; //枚举不占用类的大小

class Cat
{
protected:enum 枚举类型的名字{red,black,white};
};
示例代码:
#include <iostream>class Cat {public:enum Color {Black,White, Brown};Cat(Color c) : color(c) {} Color getColor() {return color; // 返回枚举值}private:Color color;
};int main(int argc, char const *argv[])
{Cat cat(Cat::Brown);std::cout<<"getColor:"<<cat.getColor()<<std::endl;std::cout<<"Cat::Black:"<<Cat::Black<<std::endl;std::cout<<"Cat::White:"<<Cat::White<<std::endl;std::cout<<"Cat::Brown:"<<Cat::Brown<<std::endl;// 定义枚举变量enum Cat::Color color = Cat::Black;std::cout<<"color:"<<color<<std::endl;return 0;
}/*
执行结果:getColor:2Cat::Black:0Cat::White:1Cat::Brown:2color:0
*/

写法二: static const int n=100; //静态常量(具备了const和static的双重属性),直接在类中初始化

二、const和static的用途

1. const的用途

1.1 const修饰成员变量

作用:表示常量

两种初始化的写法:

  • 写法1:通过在类的定义中直接赋值(C++11新增的特性,老的C++标准不允许)
  • 写法2:在构造函数的参数列表初始化中赋值
示例代码:
#include <iostream>/*  const修饰成员变量早期的C++标准,不允许在类的定义中直接给成员变量赋初始值
*/
class Circle{
public://写法2:const修饰成员变量必须在构造函数的参数列表中初始化赋值Circle():radius(1.0),pi(3.14){}// 错误的:若const修饰的变量未在定义时初始化,则必须在构造函数的初始化列表中初始化// Circle()// {//     radius = 1.0;//     pi = 3.14;// }
private:// const修饰成员变量,表示成员变量是一个常量,一旦初始化后就不能修改//写法1:利用C++11的新规则,允许在类的定义中直接给成员变量赋初始值// const float pi = 3.14;//写法2:const修饰成员变量必须在构造函数的参数列表中初始化赋值const float pi;float radius;
};int main(int argc, char const *argv[])
{return 0;
}

1.2 const修饰成员函数(非成员函数不能用const修饰)

写法:

返回值  函数名()  const     //const放在函数声明的后面(C语言没有这种写法)

作用:

  • 防止该成员函数修改类的成员变量
  • 不论成员变量是const修饰,还是普通变量,都不能修改,只能访问 const

修饰函数的返回值

const int fun()  //等价于int const fun()
示例代码:
#include <iostream>/*  const修饰成员函数
*/
class Circle{
public://写法2:const修饰成员变量必须在构造函数的参数列表中初始化赋值Circle():radius(1.5),pi(3.14){}void show() const{// radius = 2.0; // 编译报错:const修饰的成员函数不能修改成员变量std::cout << "radius = " << radius << std::endl;}
private:const float pi;float radius;
};// 普通函数(不属于类的成员函数)不用用const修饰
// error: non-member function ‘void test()’ cannot have cv-qualifier
void test() const
{}int main(int argc, char const *argv[])
{Circle c1;c1.show();return 0;
}

1.3 const修饰引用

常引用,表示该引用不能修改指向的变量

示例代码:
#include <iostream>int main() {// 原始变量(非常量)int original = 42;// 创建常引用绑定到原始变量const int& constRef = original;// 读取原始值 - 允许std::cout << "原始值: " << constRef << std::endl;  // 输出: 42// 尝试修改 - 编译错误!// constRef = 100;  // 错误:无法通过常引用修改// 直接修改原始变量 - 允许(因为原始变量是非常量)original = 100;// 常引用看到的值也随之改变std::cout << "修改后的值: " << constRef << std::endl;  // 输出: 100// 创建常量对象const int constValue = 200;// 常引用绑定到常量对象 - 允许const int& constRef2 = constValue;// 尝试修改 - 编译错误!(双重保护)// constRef2 = 300;  // 错误return 0;
}

2. static的用途

静态成员:类的成员使用static修饰,那么就是静态成员

2.1 修饰成员变量

  • 静态成员数据需要在类的外面初始化赋值
  • 静态成员数据是该类所有的对象共享的(所有的对象使用同一个静态成员)
  • 静态成员数据不占用类的地址空间,类的大小不包含静态成员数据的大小

实际作用:静态成员变量可以理解为类中所有对象共享的"全局变量",可以用来在同一个类的对象之间传递信息

示例代码:修饰成员变量
#include <iostream>/*  static修饰成员变量(静态成员变量)
*/
class Circle{
public:Circle(){cnt++;std::cout << "创建的Circle对象个数:"<< cnt << std::endl;}void func(){cnt = 100; }void show(){std::cout << "cnt = " << cnt << std::endl;}
private:static int cnt;
};int Circle::cnt = 0;int main(int argc, char const *argv[])
{Circle c3;Circle c2;Circle c1;c1.func(); c2.show();  c3.show(); return 0;
}
/*
执行结果:创建的Circle对象个数:1创建的Circle对象个数:2创建的Circle对象个数:3cnt = 100cnt = 100*/

2.2 修饰成员函数

  • 静态成员函数可以通过类名直接调用(不需要定义对象,直接用类名即可调用)
  • 静态成员函数中只能使用static修饰的成员变量,非static修饰不能使用

应用:作为工具类使用

工具类:该类专门提供算法函数给别人使用

class Math公式 //工具类
{
public:static 求偏导数();static 求积分();static 求无人机飞行加速度和角速度();
};
使用:
Math公式::求偏导数();   //不需要定义对象,直接调用
示例代码1:静态成员函数可以通过类名直接调用
#include <iostream>/*  静态成员函数可以通过类名直接调用
*/
class Circle{
public:Circle(){// cnt++;std::cout << "创建的Circle对象" << std::endl;}static void func(){cnt = 100; std::cout << "static void func()"<<"   cnt = " << cnt << std::endl;}void show(){std::cout << "cnt = " << cnt << std::endl;}
private:static int cnt;
};int Circle::cnt = 0;int main(int argc, char const *argv[])
{// 通过类名调用静态成员函数Circle::func();// 通过对象调用静态成员函数Circle c1;c1.func();return 0;
}
/*
执行结果:static void func()   cnt = 100创建的Circle对象static void func()   cnt = 100*/
示例代码2:静态成员函数中只能使用static修饰的成员变量
#include <iostream>/*  静态成员函数中只能使用static修饰的成员变量,非static修饰不能使用 
*/
class Circle{
public:Circle(){// cnt++;std::cout << "创建的Circle对象" << std::endl;}static void func(){cnt = 100; r = 12;         // 报错  error: invalid use of member ‘Circle::r’ in static member functionstd::cout << "static void func()"<<"   cnt = " << cnt << std::endl;}void show(){std::cout << "cnt = " << cnt << std::endl;}
private:static int cnt;int r;
};int Circle::cnt = 0;int main(int argc, char const *argv[])
{// 通过类名调用静态成员函数Circle::func();// 通过对象调用静态成员函数Circle c1;c1.func();return 0;
}

文章转载自:

http://BxNHVFnm.LjLLt.cn
http://gBwrAASE.LjLLt.cn
http://AaNEqaMD.LjLLt.cn
http://uWFvPQWB.LjLLt.cn
http://bJYLDDLF.LjLLt.cn
http://UQRwPPnt.LjLLt.cn
http://ksKrGIkq.LjLLt.cn
http://4KY3Sr9M.LjLLt.cn
http://0mWUfglM.LjLLt.cn
http://NwoWG9b2.LjLLt.cn
http://blqQDoSY.LjLLt.cn
http://ycnq9LO1.LjLLt.cn
http://XDyqajli.LjLLt.cn
http://EwojFgiP.LjLLt.cn
http://BSTC5N8O.LjLLt.cn
http://qmchfl01.LjLLt.cn
http://LY3cbuC1.LjLLt.cn
http://so2aSg3Z.LjLLt.cn
http://jdh9bn96.LjLLt.cn
http://qS2zJEap.LjLLt.cn
http://p4a0Q2kE.LjLLt.cn
http://3yqkd4of.LjLLt.cn
http://nRa8Zrax.LjLLt.cn
http://6ZFa8X7u.LjLLt.cn
http://O4DeWiML.LjLLt.cn
http://8wBN4R6Q.LjLLt.cn
http://Wg8TqYVY.LjLLt.cn
http://oeZmkNu7.LjLLt.cn
http://dwTNc7mk.LjLLt.cn
http://p4zalwfI.LjLLt.cn
http://www.dtcms.com/wzjs/749690.html

相关文章:

  • 网站后台忘记账号密码厦门在哪个网站做用工报备
  • 栾城做网站湖州网站设计浙北数据
  • 替老外做网站凡科登陆
  • 巨鹿做网站哪家好网站整站
  • 网站源码绑定域名处理国外做的比较好的购物网站
  • 网站建设与网页制作的实验目的信阳市商务局网站加油站建设公告
  • 湖州市建设局网站自己制作游戏的软件
  • 网站建设先进深圳市中心在哪
  • dede中英文网站 视频建网站可以卖钱
  • vue做响应式网站wordpress发布时间精确到秒
  • 做黄金理财的网站卖菜网站应该怎么做
  • 怎样仿制网站建设工程教育网论坛官网
  • 什么样的网站适合优化代备案域名30元
  • 天河低价网站建设东莞房价2023年最新房价走势
  • 厦门网站建设模板wordpress 导航栏居中
  • vs2019怎么创建网站wordpress自动更新
  • 网站收录率网站建站 seo
  • 眉山住房和城乡建设局网站网站能获取访问者
  • 企业网站制作商怎么做 废旧回收网站
  • 网站建设的技巧有哪些wordpress自定义代码在哪里
  • 对于网站链接优化有哪些建议东莞vi设计公司排名
  • 南京网站定制开发公司上海各区的网站有哪些公司
  • 通辽网站建设tlyltd服装设计公司排名
  • 做儿童方面的网站如何建设网站的论文
  • 高埗镇做网站wordpress快速仿站
  • 比较好的微网站开发平台长沙商城网站开发
  • linux网站备份施工企业会计制度收入确认规定
  • 餐饮加盟网站制作个人网页设计思路怎么写
  • 谷歌广告联盟网站导视设计分析
  • 网站怎么优化呢个人网站备案流程和规则