C++基础问题 为什么很多代码之前要有C呢,比如创建菜单的时候CMenu menu,那个C是什么意思
它是给系统菜单后面加了两个菜单项.
没反应的原因是, 你只是添加了, 但是没有给它重画一下, 所以它不会显示
用CWnd成员函数:DrawMenuBar
就会把最新的菜单画出来了.
就像你CReat一个窗口, 但没有Show出来.
1、添加菜单资源 在resourceview视图中右击选择insert,添加一个菜单资源IDR_MENU1,同时设定好响应的菜单项,例
如:
菜单1 菜单2
子菜单1(ID_MENUITEM1) 子菜单3(ID_MENUITEM3)
子菜单2(ID_MENUITEM2) 子菜单4(ID_MENUITEM4)
2、在对话框中添加该菜单
先增成员变量HMENU m_hMenu1;
然后在初始化函数OnInitDialog()添加一下代码:
m_hMenu1=LoadMenu(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MENU1));//导入资源,创建
菜单
::SetMenu(this->GetSafeHwnd(),m_hMenu1);//添加到对话框
3、添加子菜单响应函数
点击菜单View-->ClassWizard,在message map选项卡中选择我们要响应的菜单ID_MENUITEM1,然后选
择COMMAND消息,双击添加到member functions中,提示命名,命名后在member functions双击该函数,
4、编写响应动作
在3里面添加的响应函数中,CAboutDialog dlg;dlg.DoModal();//注意先创建该对话框资源并实体化为类,在主对话框CPP文件包含关于对话框的头文件。
5、注销资源
在对话框的OnDestroy函数中添加一下代码: DestroyMenu(m_hMenu1);
CMenu是MFC定义好的类,可以直接使用。
自己定义类的话可以不加,不过C++里面类前面一般都要加一个C,这是约定俗成的,别人一眼就能看出来这是一个类。
你是在使用VC吗?
CMenu是MFC类名,微软即用的一种风格,就表示class吧,CMenu就是Menu类呗。你可以这么来理解。
我还用过C++Builder,这个的习惯是前面加个T,比如TEdit。若是在VC里面,则是CEdit。
没什么具体含义,就是个命名习惯,一般c++的类名前都加上大写的C,当然你不这么命名也是可以的
那个是命名习惯,为了方便阅读代码。代表Menu是一个类,所以加上了C,让别人一看就知道Menu是一个类而不是结构体或者枚举什么的。
这就是个习惯,比如在定义结构体的时候,往往加上st前缀:
typedef struct test{
} stTest;
Class的简写代表类
松壮德维: C语言是面向过程语言,C++是面向对象的语言.直接学面向对象有些难度.C语言更接近人的思维方式:从上到下逐渐细分,把一个大的问题,分解成若干小问题,在把小问题分解成更小的问题,最终把问题解决.零基础的C++教材不多,C的教程遍地都是,是一个事实.建议先学C,入入门再学习其他的语言.
许昌县15686373836: c++学习有什么要求? - ?
松壮德维: C++自学的话非常难,因为c++需要学习的东西很多而且很难,如果你没掌握学习c++的方法的话,可能1-2年都只能入门,如果你掌握c++的学习的方法的话,半年就能学会C++. ……………………………………关于如何学习c++,我刚才看到...
许昌县15686373836: 为什么c++要比其它语言难学? - ?
松壮德维: 很多已经做了几年的C++程序员已经很自信觉得这门编程语言算是熟悉阶段了,但是当重新对这门语言来个彻底大扫除的时候发现,又有新的语法出现 最糟糕的是之前掌握的很多套路未必是对的. 以至于很多程序员段子手留下了很多精彩的话...
许昌县15686373836: 学习c++前是不是先学c语言比较好? - ?
松壮德维: 学习C++肯定要先学习C语言.C++ 读作“C加加”,是“C Plus Plus”的简称.顾名思义,C++ 是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像 iPhone 7S 和 iPhone 7、Win10 和 Win7 的关系.从语法上看,C...
许昌县15686373836: 自学C++,到了WINDOWS编程基础部分,突然发现里面的代码都看不懂……我是学少了什么东西么? - ?
松壮德维: 其实挺好的 你只是在心里还不接受 干巴巴的学C++语法没有意思的 去努力理解这些概念 同时学C++效果才好.我也是初学者 共勉.而且我估计你买书买错了 你的书不叫C++ 而是叫VISUAL C++
许昌县15686373836: 为什么感觉c++入门那么难 - ?
松壮德维: 你会C么,如果不会,先从C开始学习,多敲代码多练习,把C基本掌握了,再去学习C++就非常快了,语法上就多了一些东西,关键是编程思想不一样了,也是多看多敲代码,看多了就会瞬间顿悟了
许昌县15686373836: 学习C++之前是不是必须要会C语言啊?? - ?
松壮德维: 其实C++和C语言基本上是相同的,最好还是学习C语言好点,简单点说C++就多几个代码. 想编程首先就学一门语言,建议就学C语言,因为它是语言中的经典,学会了它学别的就比较容易了.其实学语言也挺容易,要有耐心,最重要的就是从基础学起,比如C语言就学结构先,顺序、选择、循环,先编跟着书本编一些简单的程序,比如一加到一百什么的,就好像先找点自信,建立信心,有兴趣了就会学得好.循序渐进地学习,慢慢深入,程序看多了,像这个程序根本就不算是问题.如果有讲错的地方请大家别见怪,多提点意见.
许昌县15686373836: 问C++的几个初级问题 - ?
松壮德维: 第二个问题…… 你必须理解计算机是如何表示浮点数的,然后就能知道浮点型是没有办法完美表达形如11.17或者50.25这种数字的.参考:http://msdn.microsoft.com/library/CHS/vccore/html/_core_IEEE_Floating.2d.Point_Representation_and_Microsoft_Languages.asp?frame=true
许昌县15686373836: 学VC++前要有什么基础 - ?
松壮德维: 一、以下是我个人初学是的感悟:1.你要学习C++,就要先学会C语言,C语言与C++的书很多,随便都行,只要搞懂语法就行.2.你要学习MFC,首先得会C++,如果你有C语言的基础,那这部分很快的,C++比C语言多的内容也就类与对象,...
许昌县15686373836: 我想学C++ 学之前要先会什么 我一点基础没有 - ?
松壮德维: 个人感觉,不需要什么基础,C++的基础语法和编程还是很简单的,跟c语言基本相同,其它各种编程语言的基本语法都差不多,只是语法上有些区别.如果你找一本书,对上面的例子进行一些必要的练习,相信你会在短时间内掌握基础.然而,一门编程语言主要是为了应用.应用时十分有难度的,需要你找一些案例,来照着编写几个小程序.然后自己试着修改,再写.这样才能慢慢掌握它的基本应用.当然这距离真正的项目开发还有很长的路要走.总体来说要向掌握一门编程语言还是不容易的.这方面的书很多,基本语法每本书基本都一样.随便找一本都可以看.