c++ 静态函数_c语言if结构格式

c++ 静态函数_c语言if结构格式1、对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员或静态方法2、只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变量.(因为静态成员变量在对象创建之前就已经被分配了内存空间)3、静态成员变量虽然在类中,但它并不是随对象的建立而分配空间的,也不是随对象的撤销而释放(一般的成员在对象建立时会分配空间,在对象撤销时会释放…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

 

1、对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员或静态方法

2、只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进而可以使用静态成员变量.(因为静态成员变量在对象创建之前就已经被分配了内存空间)

3、静态成员变量虽然在类中,但它并不是随对象的建立而分配空间的,也不是随对象的撤销而释放(一般的成员在对象建立时会分配空间,在对象撤销时会释放).静态成员变量是在程序编译时分配空间,而在程序结束时释放空间.

4、初始化静态成员变量要在类的外面进行.初始化的格式如下:数据类型 类名::静态成员变量名 = 初值;

5、不能用参数初始化表,对静态成员变量进行初始化.

6、即可以通过类名来对静态成员变量进行引用,也可以通过对象名来对静态成员变量进行引用.

7、普通成员函数和静态成员函数的区别是:

普通成员函数在参数传递时编译器会隐藏地传递一个this指针,通过this指针来确定调用类产生的哪个对象;

但是静态成员函数没有this指针,不知道应该访问哪个对象中的数据;所以在程序中不可以用静态成员函数访问类中的普通变量.

#include <iostream>
using namespace std;
class CShop
{
public:
    CShop(int size);
    void ShowSize();
    static void ShowPrice(); //声明静态成员函数用来显示价格
    static int ChangePrice(int price); //声明静态成员函数用来更改价格
private:
    int m_size; //声明一个私有成员变量
    static int m_price; //声明一个私有静态成员变量
};
CShop::CShop(int size)
{
    m_size = size;
}

void CShop::ShowSize()
{
    cout << "商品数量:" << m_size << endl;
}
void CShop::ShowPrice()
{
    cout << "商品价格:" << m_price << endl;
}
int CShop::ChangePrice(int price)
{
    m_price = price;
    return m_price;
}
int CShop::m_price = 100; //初始化静态成员变量
 
int main(int argc, char * argv[])
{
    CShop::ShowPrice();
    CShop::ChangePrice(200);
    CShop::ShowPrice();
    CShop shop(50);
 
    shop.ShowSize();
    shop.ShowPrice();
 
    return 0;
}

Jetbrains全家桶1年46,售后保障稳定

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234362.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • FPGA的图像处理算法

    FPGA的图像处理算法下面简要分析了FPGA技术,包括FPGA技术原理和技术特点等,随后介绍一下FPGA的图像处理系统算法的实现,包括存储模块、运算单元、控制模块以及数据传输模块等内容。智能机器人、多媒体已经计算机的诞生都离不开数字图象处理技术,随着计算机智能化图像处理技术的不断发展,几乎所有领域当中都有数字图象技术的身影。例如军事、公共安全、工业、航天航空、卫星遥感以及生命科学等各种领域。因此对图象处理…

    2022年5月17日
    38
  • 有哪些域名可以提交备案

    有哪些域名可以提交备案

    2021年9月21日
    86
  • Altium Designer 13 插件安装

    Altium Designer 13 插件安装关键词:AltiumDesigner13;导入Protel99SE很多人反应AltiumDesigner13等版本无法Protel99SE的文件,实际上这是由于新的安装机制导致,新版本将很多功能以插件的方式存在,这些插件包含在安装包中,但是实际上不会默认安装,因此需要手动安装。安装方法首先先做好设定,上面说过这些插件的安装文件在安…

    2022年7月13日
    20
  • 新手到黑客的最全入门路径图(附全部学习资料下载)!

    新手到黑客的最全入门路径图(附全部学习资料下载)!点击上方“程序人生”,选择“置顶公众号”第一时间关注程序猿(媛)身边的故事01入门介绍说到黑客,大家可能觉得很神秘,其实狭义上的黑客就是去寻找网站、系统、软件等漏洞,刚入门的黑客大部分从事渗透工作,而渗透大部分属于web安全方向,就是利用漏洞来取得一些数据或达到控制,让对方程序崩溃等效果。02一些常用的名词解释挖洞的话,就相当于在程序中查找漏洞,举一个不大恰当但容易理解的比喻,就像韩非子说所的那个

    2022年6月11日
    38
  • MacOS VSCode快捷键[通俗易懂]

    MacOS VSCode快捷键[通俗易懂]Macos下VSCode快捷键文章转载出处:http://www.cnblogs.com/informatics/全局Command+Shift+P/F1显示命令面板Command+P快速打开Command+Shift+N打开新窗口Command+W关闭窗口基本Command+X剪切(未选中文本的情况下,剪切光标所在行)Command+C复制(未选中文本的情况下,复制光标所在行)Option+Up向上移动行Option+D

    2022年6月4日
    150
  • 代理重加密_代理重加密BBS方案

    代理重加密_代理重加密BBS方案云计算中的数据机密性风险极大地阻碍了云计算的应用,而在用户端加密的模式对于数据共享来说非常不便,用户频繁的获取和释放授权将使得用户增效据加解密工作繁重。因此代理重加密技术在云端进行数据的密文转换,减轻了用户端的负担,同时加强了云端数据的保密性。一、代理重加密代理重加密是密文间的一种密钥转换机制,是由Blaze等人在1998年的欧洲密码学年会上提出的,并由Ateniese等人在2005年的网络和分布式系统安全研讨会议和2007年的美国计算机学会计算机与通信安全会议上给出了规范的形式化定义。在代理重加密中

    2025年10月14日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号