首页 > 编程语言 >12. C++ 类其实也是一种作用域

12. C++ 类其实也是一种作用域

时间:2024-02-03 11:34:07浏览次数:27  
标签:typedef 12 作用域 void C++ 访问 对象

C++ 类其实也是一种作用域

类其实也是一种作用域,每个类都会定义它自己的作用域。在类的作用域之外,普通的成员只能通过对象(可以是对象本身,也可以是对象指针或对象引用)来访问,静态成员既可以通过对象访问,又可以通过类访问,在类内用 typedef 定义的类型只能通过类来访问
下面的例子使用不同的方式访问了不同的成员:

#include<iostream>
using namespace std;

class A
{
public:    
    typedef int INT;        // 类内的typedef重命名类型
    static void show();
    void work();
};

void A::show(){ cout<<"show()"<<endl; }

void A::work(){ cout<<"work()"<<endl; }

int main(){
    A a;
    a.work();  //通过对象访问普通成员
    a.show();  //通过对象访问静态成员
    A::show();  //通过类访问静态成员
    A::INT n = 10;  //通过类访问 typedef 定义的类型
    return 0;
}

标签:typedef,12,作用域,void,C++,访问,对象
From: https://www.cnblogs.com/xu-dp/p/18004462

相关文章

  • 12个RAG常见痛点及解决方案
    Barnett等人的论文《SevenFailurePointsWhenEngineeringaRetrievalAugmentedGenerationSystem》介绍了RAG的七个痛点,我们将其延申扩展再补充开发RAG流程中常遇到的另外五个常见问题。并且将深入研究这些RAG痛点的解决方案,这样我们能够更好地在日常的RAG开发中避免和解决......
  • 【C++】类和对象(一)[类的相关定义及this指针]
    C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。C++在C语言的基础上增加了面向对象编程,C++支持面向对象程序设计。类是C++的核心特性,通常被称为用户定义的类......
  • Qt/C++音视频开发66-音频变速不变调/重采样/提高音量/变速变调/倍速播放/sonic库使用
    一、前言之前在做倍速这个功能的时候,发现快速播放会有滴滴滴的破音出现,正常1倍速没有这个问题,尽管这个破音间隔很短,要放大音量才能听到,但是总归是不完美的,后面发现,通过修改qaudiooutput的采样率,可以规避这个问题,破音不在出现了,但是音调变了,倍速越大变得越快,人声越发不清晰,变得尖......
  • [转帖]彻底搞明白 GB2312、GBK 和 GB18030
    https://www.zhihu.com/people/lion-89 日常工作的过程中,关于字符编码的问题经常让人头疼不已,这篇文章就来捋一捋关于GB2312、GBK、GB18030相关的知识以及它们和Unicode的关系简介GB23121980年,中国发布了第一个汉字编码标准,也即GB2312,全称《信息交换用汉字......
  • P2609 [ZJOI2012] 数列
    (题目传送门)实在是泰裤辣!直接推导??不存在的。最直接的想法是记忆化搜索,但是不想写高精……观察发现每个\(a_n\)都可以写成\(x\timesa_0+y\timesa_1\)的形式。你对单个\(a_i\)计算系数和记忆化搜索无异。观察条件,考虑一个二元组\((a_i,a_{i+1})\),发现可以转化成对\((a_......
  • 在 Windows 10 上使用 Visual Studio 2022 C++ 桌面开发
    工具下载链接:https://pan.quark.cn/s/c70b23901ccb环境介绍在今天的快速发展的软件开发行业中,选择合适的开发环境是非常关键的一步。对于C++开发人员来说,VisualStudio2022(VS2022)是一个强大的集成开发环境(IDE),特别是在Windows10操作系统中。安装VisualStudio2022本文将引导您......
  • C++编程练习||创建一个名为Rational的类,进行分数运算。
    题目:创建一个名为Rational的类,进行分数运算。创建一个名为Rational的类,进行分数运算。用整数变量表示类的private数据-numerator(分子)和denominator(分母)。提供一个带默认值的构造函数,并且它应该以简化的形式保存分数。例如分数2/4应在对象中保存为numerator为1,denominator为2的形式。......
  • C++编程练习||Account类:创建一个名为Account的类,银行可以使用它表示客户的银行帐户||I
    1.Account类题目:创建一个名为Account的类,银行可以使用它表示客户的银行帐户。这个类应该包括一个类型为double的数据成员,表示帐户余额。这个类提供一个构造函数,它接受初始余额并用它初始化数据成员。这个构造函数应当确认初始余额的有效性,保证它大于或等于0。否则,余额应设置为0......
  • 如何在windows server 2012上安装Docker?
    需要先下载两个文件:DockerToolbox下载地址:链接:https://github.com/docker-archive/toolbox/releasesboot2docker下载地址:链接:https://github.com/boot2docker/boot2docker/releasesa)双击文件:DockerDesktopInstaller.exe默认选项=>nextb)安装位置,默认=>nextc)默认=>ne......
  • (12)动态生成菜单及绑定自定义事件
    varAddCollctMenus:ArrayOfTMenuItem;//动态菜单      procedureTForm1.Button5Click(Sender:TObject);Vari,AddCollctMenuCount:Integer;BeginAddCollctMenuCount:=Length(AddCollctMenus)-1;Fori:=0ToAddCollctMenuCountDo......