C++声明对象时类名前面需要加上class关键词吗?_c++创建对象时在前面加class_许野平的博客-程序员宅基地

技术标签: # C++  

今天读开源代码,发现下面一段代码,弄得我一头雾水:

class XXX
{
    
... ...
public:
    class QtDoublePropertyManager *doubleManager; //前面需要加上关键字 class 吗?
    class QtStringPropertyManager *stringManager; //前面需要加上关键字 class 吗?
... ...
};

类名前面需要加上关键字 class 吗?我写了段试验代码:

class A {
    };
class B {
    
public:
    class A *p;
    A *q;
};

int main(int argc, char *argv[])
{
    
    B b;
    b.p = new A();
    b.q = new A();
    class A *t;
    t = b.p;
    b.p = b.q;
    b.q = t;
    return 0;
}

编译运行,发现带 class 和不带 class 的对象,用起来完全一样,还可以互相赋值。后来查了一下资料,原来带 class 的用法是从 C 语言沿袭下来的,在 C++ 代码中,建议不带 class。难怪像我这样用了三十多年 C++ 的老油条都不晓得这个用法。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/quicmous/article/details/104116180

智能推荐

Java读写CSV格式文件(opencsv)_羔羊的迷茫的博客-程序员宅基地

文章转自:http://blog.csdn.net/a19881029/article/details/37959109使用opencsv(opencsv-2.3.jar),下载地址:http://sourceforge.net/projects/opencsv/files/latest/download一,读取CSV格式文件:[java] view plain

cisco ap 上线不成功_weixin_34125592的博客-程序员宅基地

调试命令debug capwap events enablehttps://cciewirelessnotes.wordpress.com/An instance occurred where a Cisco 3600 series AP is unable to join a WLC, due to error ‘RADIUS authorization is pending for th...

service启动方式_dawan19909的博客-程序员宅基地

两种启动方式:1. start方式 onCreate()-->onStartCommand(Intent intent, int flags, int startId)-->onDestroy()a.某个servie 在整个应用中只有一个 可以此activity启动,另一个stop b.只在第一次启动时调用onCreate,其他时候调用(一个或多个activi...

rpm命令说明_weixin_30877181的博客-程序员宅基地

RPM命令常用参数RPM的常规使用方法为rpm-?package.rpm,其中-?为操作参数(更多信息,请查阅帮助$manrpm):-q在系统中查询软件或查询指定rpm包的内容信息-i在系统中安装软件-U在系统中升级软件-e在系统中卸载软件-h用#(hash)符显示rpm安装过程-v详述安装过程-p表明对RPM包进行查询,通常和其它参数同时使用,如:-qlp查询某个RPM包中的所有文件列表...

通信基础 11 ——RFID ratio frequency identification 射频能量采集技术_今天也努力学习的Paul的博客-程序员宅基地

原文地址 http://3g.rfidworld.com.cn/TechView.aspx?id=5346射频能量采集技术  日常生活中的电子设备越来越多了,它们都需要某种形式的电源才能维持正常工作。幸运的是,我们周围存在很多种能量形式,既可以把风能、光能、物体运动动能转换成电能,甚至从高频无线电信号的传输中也可以收集部分能量。相比之下没有那么普遍但是正在迅速普及的则是从RF/微波信号中收集能量的方案,它可以从无线电/电视广播站和无线设备上获取能量。在物联网(IoT)传感器和射频识别(RFID)标签等

单片机时钟周期、机器周期、指令周期的区别_Persisterfan的博客-程序员宅基地

时钟周期:    时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。    在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟 周期为250us。由于时钟脉冲是计算机的基本

随便推点

【Linux】一步一步学Linux——telinit命令(144)_telinit reload init daemon configuration_沧海一笑-dj的博客-程序员宅基地

00. 目录文章目录00. 目录01. 命令概述02. 命令格式03. 常用选项04. 参考示例05. 附录01. 命令概述设置当前系统的运行等级说明:This is a legacy command available for compatibility only. It should not be used anymore, as the concept of runlevels i...

【pprof】简要学习教程_码农印象的博客-程序员宅基地

基本介绍pprof 是在做性能优化前的性能分析工具。安装: go get -u github.com/google/pprof分析工具go tool pprof 是命令行指令,用于分析 Profiling 数据,源数据可以是 http 地址,也可以是已经 dump 下当 profile 文件;查看模式可以命令行交互模式,也可以是浏览器模式(-http 参数)。两种应用服务型应用 _ "net/http/pprof" 包,专用于采集 web 服务 运行数据的分析。即在运行的服务中通过 API .

Mozilla 推迟强制附加组件签名实施时间_weixin_33796177的博客-程序员宅基地

根据Mozilla基金会官方wiki页面显示,要到Firefox 44开始才会强制不允许安装未获得签名的附加组件。Mozilla最初的计划是在在Firefox 41版本中不允许用户安装未签名附加组件,但用户可通过about:config来设置绕过;然后真正附加组件强制签名则在Firefox 42版本中实施,42正式版计划将于今年11月份推出。而 现在...

学习笔记之——matlab读入视频并将每帧保存图片,然后再利用读取每张图片进行处理_matlab read(video,i)_gwpscut的博客-程序员宅基地

直接上代码video=VideoReader('*****.mp4');&读入视频frame_num=floor(video.Duration*video.FrameRate);for i=301:500 frame = read(video, i); imwrite(frame,strcat(num2str(i),'.jpg'));endfor index=...

linux ubuntu重启不了系统,求教:ubuntu重启后进不去系统了,还有另外一个问题_Martin awodey的博客-程序员宅基地

马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有帐号?立即注册x我装的是ubuntu 11.04 和win7双系统,昨天更新了一下,更新的时候我没看着,别人瞎搞了一下(其实我自己也是瞎搞),结果我看的时候断网了,更新错误,我又重新更新了,接着关机重启就进不去系统了,出现下面的提示:############################################...

推荐文章

热门文章

相关标签