C++模块化编程

C++程序模块化编程

1、在.h文件中定义类(对成员函数只包括声明部分),对应的.cpp文件主要是对类的成员函数的定义。

2、在main函数中定义对象,然后通过对象引用类的成员以实现某功能。

3、将头文件添加到.cpp文件比添加到.h文件的好处是可以避免重复包含,如果不是头文件要用到某文件的内容的话,还是把.h文件放到.cpp中更好

4、也可以某个类在自己的cpp文件中定义全局对象(变量),然后在对应.h文件中把它声明为外部的,如直接在.h文件中定义的话,该头文件被不同文件包含时会报重定义的错误。(好像可以通过静态数据类型来达到同样效果)

5、在.h文件中定义了外部全局变量(如extern int x)时记得要包含对应头文件,注意在.cpp中包含了而在.h中未包含,编译器可能不提示出错,只在编译时才报错(养成好习惯就不会犯这样的错误)。

自己都看不懂当初要表达什么!!!

6、#pragma comment(lib, "IMPPlatformSDK.lib")  //若在项目属性的附加库中没有添加IMPPlatformSDK.lib,则需要此语句(注意附加库目录必须指定)

7、//extern CResourceTree ResourceTree;//在ResourceTree.h中声明了为extern类型的后,在此处就无需声明为extern---(有待复习)

8、看过一部分程序了解到,C++编程的风格是尽量把一类操作都封装成类,如可以把很多格式转化封装成一个类,以方便后面的使用。

9、自己在一个文件定义的结构体类型需要在其他文件出现的时候,可以在其他文件的.cpp文件中重写一下结构体定义,不可放到.h文件中,不然会出现从定义的错误。

10、在.h文件中声明一个全局变量的话,若该文件被多次包含,则会报重定义的错误,若是把它声明为静态的话就不会。但是在头文件中定义结构体的话(没有同时定义结构体变量),被多文件包含时是不会重定义的,应为只是定义类型,未定义具体变量,系统不为其分配内存空间。

11、注意:自己把某块功能函数封装成类的话可以,如该类只被另外一个类B使用,可以在B的声明中定义类A的对象,若类A需被多文件(或不是其他类的文件)使用,则需在类A自己的头文件定义静态全局对象,或在类A的.cpp文件中定义全局对象,在.h中将其声明为extern类型。

12、对于MFC程序,系统自动为主对话框类添加了对象,而自己写程序的过程中每一个自己封装的类需自己手动添对象,添加方法是在对应.cpp文件中定义全局对象,在.h中将其声明为extern类型。也可以在某一个函数中直接添加某个类的局部对象。

13、在函数里定义的对象是局部对象,函数结束后对象自动被析构。

14、定义类的数据成员与定义局部变量的区别:当定义局部对象时数据成员便成为局部的,定义全局对象时,数据成员便成为全局的。注意:不可以定义两个名字一样的全局对象,但可以定义两个名字一样的局部对象,一个文件里可以同时有全局对象和局部对象(问:重名了是什么情况:重名了应该局部的和全局的互不干扰)定义静态成员的好处在于对于某一个类整个程序不管定义多少个对象(不管是全局的还是局部的)该静态成员只有一个(问不同类的静态成员重名影响吗:应该不影响,因为在类外静态成员要通过类名(或对象名)访问)。

15、C++程序模块化编程时当出现变量的重复定义问题时看看能否将变量定义成静态的来解决。

16、类A中定义了类B的一个对象b,则类A的成员函数中对对象b的操作具体是对应于类A的那个对象的操作,要看是A的那个哪个对象调用其成员函数。

17、自己写的头文件包含方式为 #include”student.h”,系统的用#include<x.h>。

18、注意新建工程过程中第一次添加头文件和源文件时后缀名不可出错。否则只能移除再添加而不能通过重命名改后缀。

19、注意:头文件之间的包含只需考虑不要有全局变量(对象)的重复定义问题,所以最好不要在头文件中定义全局变量(对象),但是为什么类的成员不会出现重定义的报错是因为类的成员在定义的时候是不分配内存空间的,只有在定义对象的时候才分配。

20、#include "vlc/vlc.h"    //该头文件的意思是在自己添加的附加库目录下还有一个vlc文件夹,而我们需要的vlc.h文件就在vlc文件夹下。

21、自己平时写代码的时候要注意C++程序的封装性,同一类操作封装成一个类。

22、注意:当一个解决方案里面同时有动态库工程和控制台工程时,而控制台工程要用到动态库工程生成的dll时,需为控制台工程添加依赖项。

C++程序模块化编程

1、在.h文件中定义类(对成员函数只包括声明部分),对应的.cpp文件主要是对类的成员函数的定义。

2、在main函数中定义对象,然后通过对象引用类的成员以实现某功能。

3、将头文件添加到.cpp文件比添加到.h文件的好处是可以避免重复包含,如果不是头文件要用到某文件的内容的话,还是把头文件添加到.cpp中更好。

4、也可以某个类在自己的cpp文件中定义全局对象(变量),然后在对应.h文件中把它声明为外部的,如直接在.h文件中定义的话,该头文件被不同文件包含时会报重定义的错误。(通过静态数据类型也可以达到同样效果)

5、在.h文件中声明一个全局变量的话,若该文件被多次包含,则会报重定义的错误,若是把它声明为静态的话就不会。但是在头文件中定义结构体的话(没有同时定义结构体变量),被多文件包含时是不会重定义的,应为只是定义类型,未定义具体变量,系统不为其分配内存空间。

6、想定义一个全局对象(变量),一般有两种方法

1>C语言常用方法:可以通过在.cpp文件中定义一个全局对象(变量),然后在对应的.h文件中把该变量或对象声明外部类型来实现,如extern int x  

2>C++语言常用方法:在定义某个类时把某个数据成员定义为static类型即可。

7、#pragma comment(lib, "IMPPlatformSDK.lib")  //若在项目属性的附加库中没有添加IMPPlatformSDK.lib,则需要此语句(注意附加库目录必须指定)

8、看过一部分程序了解到,C++编程的风格是尽量把一类操作都封装成类,如可以把很多格式转化封装成一个类,以方便后面的使用。

9、注意:自己把某块功能函数封装成类的话可以,如该类只被另外一个类B使用,可以在B的声明中定义类A的对象,若类A需被多文件(或不是其他类的文件)使用,则需在类A自己的头文件(在类外)定义静态全局对象,或在类A的.cpp文件中定义全局对象,在.h中将其声明为extern类型。

10、在函数里定义的对象是局部对象,函数结束后对象自动被析构。

11、定义类的数据成员与定义局部变量的区别:当定义局部对象时数据成员便成为局部的,定义全局对象时,数据成员便成为全局的。注意:不可以定义两个名字一样的全局对象,但可以定义两个名字一样的局部对象,一个函数里可以同时有全局对象和局部对象(重名了应该局部的和全局的互不干扰)定义静态成员的好处在于对于某一个类整个程序不管定义多少个对象(不管是全局的还是局部的)该静态成员只有一个(问,不同类的静态成员重名影响吗:应该不影响,因为在类外静态成员要通过类名(或对象名)访问)。

12、类A中定义了类B的一个对象b,则类A的成员函数中对对象b的操作具体是对应于类A的哪个对象的操作,要看是A的哪个对象调用其成员函数。

13、自己写的头文件包含方式为 #include”student.h”,系统的用#include<x.h>。

14、注意新建工程过程中第一次添加头文件和源文件时后缀名不可出错。否则只能移除再添加而不能通过重命名改后缀。

15、注意:头文件之间的包含只需考虑不要有全局变量(对象)的重复定义问题,所以最好不要在头文件中定义全局变量(对象),类的成员不会出现重定义的报错是因为类的成员在定义的时候是不分配内存空间的,只有在定义对象的时候才分配。

16、#include "vlc/vlc.h" //该头文件的意思是在自己添加的附加库目录下还有一个vlc文件夹,而我们需要的vlc.h文件就在vlc文件夹下。

17、自己平时写代码的时候要注意C++程序的封装性,同一类操作封装成一个类。

18、注意:当一个解决方案里面同时有动态库工程和控制台工程时,而控制台工程要用到动态库工程生成的dll时,需为控制台工程添加依赖项。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容