第11章 多态性

合集下载

生物化学复习思考题

生物化学复习思考题

绪论一名词解释新陈代谢生物化学二.思考题1.生物化学与人们的生产和生活的关系2.物化学研究的内容和目的蛋白质化学一.名词解释1.两性离子2.必需氨基酸3.等电点4.稀有氨基酸5.非蛋白质氨基酸6.构型7.蛋白质的一级结构8.构象9.蛋白质的二级结构10.结构域11.蛋白质的三级结构12.氢键13.蛋白质的四级结构14.离子键15.超二级结构16.疏水键17. 盐析18电泳20.蛋白质的变性21.蛋白质的复性22.蛋白质的沉淀作用二.思考题1.什么是蛋白质的一级结构?为什么说蛋白质的一级结构决定其空间结构?2.什么是蛋白质的空间结构?蛋白质的空间结构与其生物功能有何关系?3.蛋白质的a螺旋结构有何特点?4.蛋白质的β折叠结构有何特点?5.举例说明蛋白质的结构与其功能之间的关系。

6.什么是蛋白质的变性作用和复性作用?蛋白质变性后哪些性质会发生改变?7.简述蛋白质变性作用的机制。

8.蛋白质有哪些重要生物功能。

9.氨基酸的缩写符号与结构式。

第二章核苷酸和核酸一.名词解释DNA双螺旋结构减色效应增色效应 DNA热变性 Tm二.思考题1.嘧啶、嘌呤核苷所形成的糖苷键是怎样相连的?2.DNA、RNA是否都能碱解?为什么?3.DNA的二级结构是怎样的?其稳定因素是什么?4.DNA双螺旋结构的多态性是怎样的?6.什么叫hnRNA ?与mRNA有何区别?7.真核mRNA一级结构有什么特点?是否都是转录的产物?有什么作用?原核生物mRNA呢?8.tRNA二级结构有那些特点?其作用如何?有那些稀有碱基?11.DNA热变性有何特点?Tm值表示什么?12.为什么说Watson和crick提出的DNA双螺旋结构奠定了分子生物学新纪元时代,具有划时代贡献?13.写出腺嘌呤、鸟嘌呤、胞嘧啶、尿嘧啶、胸腺嘧啶的结构式。

第三章酶化学一.名词解释全酶多酶体系(多酶复合体)同工酶活性中心核酶 Km 竞争性抑制作用非竞争性抑制作用共价酶别构酶酶活力比活力二思考题1.酶作用的专一性可分为哪几类?2.酶的化学本质是什么?如何证明?3.影响酶促反应速度的因素有哪些?4.辅助因子按其化学本质分哪两类?在酶促反应中起什么作用?5.酶反应的专一性由酶组成的哪些成分决定?辅助因子在酶促反应中起什么作用?6.同工酶的结构及组成不同,但为什么能催化剂相同的化学反应?7.举例说明竞争性抑制剂的动力学作用特点。

第7章 面向对象学习方法学

第7章 面向对象学习方法学

第七章面向对象学习方法学面向对象方法学的出发点和基本原则,是尽可能按照人类的习惯思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题域空间与实现解法的解空间在结构上尽可能一致.与传统的结构化方法相比,使用面向对象方法开发的软件,其稳定性,可修改性和可重用性都比较好.本章内容主要包括:传统方法学的缺点,面向对象的基本概念,面向对象模型.7.1 基础知识7.1.1 传统方法学的缺点结构化几其他方法学的本质,是在具体的软件开发之前,通过需求分析预先定义软件需求.然后一个一个阶段地开发用户所需要的软件,实现预先定义的软件需要.过去的经验需要告诉我们,结构化及其他方法学并不能完全消除软件危机.结构化及其他方法学仍然有许多不足之处.1.问题的表现1)生产效率低在生命周期方法学中,特别重视软件开发的阶段性.为了提高了软件开发的效率,减少重大返工次数,强调必须早每个阶段结束之前进行评估.从而开发过程中实行严格的质量管理,确实提高了许多软件的开发的成功率.但是,时间表明,开发高利率仍然很有用.2)不能满足用户需要实践表明,在开发需要模糊或需求动态变化的系统时,软件系统的结果往往不能满足用户需求的变化.主要表现在两个方面:一种是开发人员不能完全获得彻底理解用户的需要,以至开发的软件系统与用户预期的系统不一致;另一种表现是,所开发的系统不能适应用户需求变化,系统的稳定性和可扩充性不能满足需要.3)软件服用就是将已有的软件成分用于构造新的软见系统.软件复用是节约人力,提高软件效率的重要途径.结构分析.设计,几乎每一次开发一个系统时都需要针对这个具体的系统做大量的重复劳动..思维成果的可复用性差.4)软件很难维护实践经验告诉我们,即使是用生命周期方法学开发出来的软件,维护起来仍然相当困难,软件维护成本很高.2.问题的原因1)结构化技术本身的问题结构分析和设计技术的基本思想是从目标系统整体功能的单个处理着手,自顶向下不断的把复杂的处理分解为子处理,一层一层的分解下去,直到剩下若干个容易实现的子处理为止。

药物代谢相关基因多态性对抑郁型双相情感障碍治疗的指导作用

药物代谢相关基因多态性对抑郁型双相情感障碍治疗的指导作用

㊃论著㊃药物代谢相关基因多态性对抑郁型双相情感障碍治疗的指导作用*陈思宇1,续慧蕾1,任季冬1,袁旦2,蔡燕3ә(1.南充市身心医院精神科,四川南充637700;2.南充赛尔医学检验所,四川南充637700;3.川北医学院附属医院检验科,四川南充637700)[摘要]目的根据药物基因检测结果,调整双相情感障碍患者的治疗方案,探讨基因检测对个体化治疗的指导意义㊂方法选择2019年11月至2020年6月在南充市身心医院就诊的B P患者76例作为研究对象,将其分为研究组36例,对照组40例㊂采集研究组患者外周血进行药物相关基因检测,根据检测结果调整用药方案,对照组采用常规治疗㊂疗程结束后比较两组总有效率,并在不同时间段比较两组汉密尔顿抑郁量表(HAM D)评分㊁临床疗效总评量表(C G I)评分㊁不良反应量表(T E S S)评分㊂结果疗程结束后,两组总有效率比较,差异无统计学意义(χ2=0.28,P>0.05)㊂研究组HAM D评分在治疗第4周时低于对照组,C G I评分在治疗第6周时低于对照组,差异均有统计学意义(P<0.05)㊂研究组不良反应发生率低于对照组,差异有统计学意义(χ2=4.12,P<0.05)㊂结论根据药物基因检测结果制订治疗方案,能更好地控制患者的症状,降低药物不良反应发生率㊂[关键词]双相情感障碍; C Y P2D6; C Y P2C19; C Y P3A5;基因检测;个体化治疗D O I:10.3969/j.i s s n.1009-5519.2021.11.001中图法分类号:R749.4+1文章编号:1009-5519(2021)11-1797-03文献标识码:AT h e g u i d i n g r o l e o f p o l y m o r p h i s m s o n d r u g m e t a b o l i s m-r e l a t e d g e n e s i n t h e t r e a t m e n t o f d e p r e s s i v e b i p o l a r d i s o r d e r*C H E N S i y u1,X U H u i l e i1,R E N J i d o n g1,Y U A ND a n2,C A I Y a n3ә(1.D e p a r t m e n t o f P s y c h i a t r y,N a n c h o n g P s y c h o s o m t i c H o s p i t a l,N a n c h o n g,S i c h u a n637700,C h i n a;2.N a n c h o n g C e l l m e d C l i n i c a l L a b o r a t o r y,N a n c h o n g,S i c h u a n637700,C h i n a;3.A f f i l i a t e d H o s p i t a l o f N o r t h S i c h u a n M e d i c a l C o l l e g e,N a n c h o n g,S i c h u a n,637700,C h i n a)[A b s t r a c t]O b j e c t i v e T h e t r e a t m e n t p l a n o f p a t i e n t s w i t h b i p o l a r d i s o r d e r w a s a d j u s t e d t o e x p l o r e t h e g u i d i n g r o l e o f g e n e t i c t e s t i n g f o r i n d i v i d u a l t h e r a p y a c c o r d i n g t o t h e r e s u l t s o f p h a r m a c o g e n e t i c t e s t i n g.M e t h o d s76p a t i e n t s w i t h B P w h o w e r e t r e a t e d i n N a n c h o n g P s y c h o s o m a t i c H o s p i t a l f r o m N o v e m b e r2019t o J u n e2020w e r e s e l e c t e d a s t h e r e s e a r c h s u b j e c t s.T h e y w e r e d i v i d e d i n t o s t u d y g r o u p(n=36)a n d c o n t r o l g r o u p(n=40).T h e p e r i p h e r a l b l o o d o f t h e p a t i e n t s i n t h e s t u d y g r o u p w a s c o l l e c t e d f o r m e t a b o-l i s m-r e l a t e d g e n e t e s t i n g,a n d t h e t r e a t m e n t p l a n w a s a d j u s t e d a c c o r d i n g t o t h e t e s t r e s u l t s,h o w e v e r t h e c o n t r o l g r o u p r e c e i v e d r o u-t i n e t r e a t m e n t.A f t e r t h e e n d o f t r e a t m e n t,t h e t o t a l e f f e c t i v e r a t e o f t h e t w o g r o u p s w a s c o m p a r e d,a n d t h e h a m i l t o n d e p r e s s i o n s c a l e(HAM D)s c o r e,t h e c l i n i c a l g l o b a l i m p r e s s i o n(C G I)s c o r e,a n d t h e t r e a t m e n t e m e r g e n t s y m p t o m s c a l e(T E S S)s c o r e w e r e c o m p a r e d i n d i f f e r e n t p e r i o d s.R e s u l t s T o t a l e f f e c t i v e r a t e o f t w o g r o u p s h a d n o s t a t i s t i c a l d i f f e r e n c e(χ2=0.28,P>0.05)a f t e r t h e e n d o f t r e a t m e n t.HAM D s c o r e o f t h e s t u d y g r o u p w a s l o w e r t h a n t h a t o f t h e c o n t r o l g r o u p a t t h e f o u r t h w e e k,C G I s c o r e w a s l o w e r t h a n t h a t o f t h e c o n t r o l g r o u p a t t h e s i x t h w e e k(P<0.05).T h e s t u d y g r o u p h a d a l o w e r i n c i d e n c e o f a d v e r s e r e a c t i o n s t o t h e c o n t r o l g r o u p(χ2=4.12,P<0.05).C o n c l u s i o n T h e t r e a t m e n t p l a n w a s d e v e l o p e d b a s e d o n t h e t e s t r e s u l t s,w h i c h c a n b e t t e r c o n t r o l t h e s y m p t o m s o f p a t i e n t s a n d s i g n i f i c a n t l y r e d u c e t h e t o x i c s i d e e f f e c t s o f d r u g t h e r a p y.[K e y w o r d s] B i p o l a r d i s o r d e r; C Y P2D6; C Y P2C19; C Y P3A5; G e n e t i c t e s t i n g;I n d i v i d u a l i z e d t r e a t m e n t双向情感障碍(B P),又称为躁狂抑郁症,是一种以情感的异常高涨或低落为特征的精神障碍性疾病,具有躁狂和抑郁2种临床表现㊂我国人群中B P的发病率为0.46%㊂抗心境稳定剂和抗精神病药物联用是目前主要的治疗手段,由于个体对药物的敏感性和不良反应的耐受差异,仅30%~45%的患者可以获得临床症状的完全缓解[1]㊂近年来,随着测序技术的飞速发展,药物基因组学研究发现,药物代谢酶(如C Y P2C19)的基因多态性是导致酶活性差异及临床药物代谢个体差异的主要原因之一[2],根据基因检测结果进行个体化用药在抗肿瘤治疗㊁抗心血管疾病治疗方面大大提高了药物疗效[3]㊂本研究拟检测B P患者血清中相关基因携带情况,根据检测结果调整用药,探讨基因检测对B P患者个体化用药的临床意义㊂1资料与方法1.1一般资料选择2019年11月至2020年6月在㊃7971㊃现代医药卫生2021年6月第37卷第11期J M o d M e d H e a l t h,J u n e2021,V o l.37,N o.11*基金项目:南充市研发基金项目(18Y F Z J0064)㊂作者简介:陈思宇(1978 ),本科,副主任医师,主要从事精神心理卫生方面的工作㊂ә通信作者,E-m a i l:1094585751@q q.c o m㊂南充市身心医院就诊的初诊B P患者76例作为研究对象,将其分为研究组和对照组,研究组36例,其中男23例,女13例,年龄21~52岁;对照组40例,男25例,女15例,年龄23~48岁㊂两组一般资料比较,差异无统计学意义(P>0.05)㊂纳入标准:符合‘中国精神病分类与诊断标准-Ⅲ“中有关B P的诊断标准;汉密尔顿抑郁量表(H AM D)17项评分大于或等于16分;近2周内未服用抗精神病㊁抗抑郁药物㊂排除标准:严重自杀倾向;伴有严重的或不稳定的内科疾病;癫痫病史;1年内有酒精和药物依赖;继发于其他精神疾病或躯体疾病的抑郁发作;哺乳期㊁妊娠或可能在试验期间妊娠的妇女㊂1.2方法1.2.1药物基因检测采集研究组患者外周静脉全血2m L,检测与药物相关的24个基因(抗焦虑药物代谢相关基因:N A T2㊁U G T2B15㊁C Y P2C19㊁C Y P3A4㊁C Y P3A5;抗精神病药物相关基因:M C4R㊁C Y P26㊁C Y P1A2㊁H T R2C㊁A N K K1㊁D R D2㊁C O M T;抗抑郁药物相关基因:H T R1A㊁G R I K4㊁H T R2A㊁F K B P5;抗癫痫药 心境稳定剂药物相关基因:C Y P2C9㊁A B C B1㊁H L A-B*15㊁E P H X1㊁U G T1A4㊁S C N2A㊁P O L G和S C N1A)突变位点进行检测㊂1.2.2药物治疗对照组根据患者的具体情况选用抗抑郁㊁抗精神病药物,以及碳酸锂和丙戊酸钠等进行常规治疗㊂研究组根据患者基因检测结果进行药物剂量或药物类型调整,当结果显示为正常代谢或药物不良反应风险一般时,延用之前的治疗方案;当检测结果为中间代谢或慢代谢时,减少药物用量或更换药物;如果检测结果为快代谢时,适当提高药物的剂量㊂1.2.3疗效判断显效:临床疗效总评量表(C G I)评分减分率大于或等于75%;有效:C G I评分减分率50%~<75%;无效:C G I评分减分率小于50%㊂总有效率=(显效例数+有效例数)/总例数ˑ100%㊂抑郁症状改善情况采用HAM D评价,不良反应采用不良反应量表(T E S S),在治疗第2㊁4㊁6周末进行评定㊂治疗前㊁治疗6周末进行血常规㊁电解质㊁肝功能㊁心电图等常规检查㊂1.3统计学处理应用S P S S16.0统计软件进行数据分析,计量资料以xʃs表示,采用t检验;计数资料以率表示,采用χ2检验㊂P<0.05为差异有统计学意义㊂2结果2.1基因检测结果研究组36例患者中抗焦虑药物代谢相关基因C Y P3A4均为*1/*1型,未检测到突变,其余4个基因均有不同基因型分布,基因突变后导致药物为中间代谢和慢代谢的百分比较高(其中N A T2为45%和24%;C Y P2C19为39%和12%;C Y P3A5为46%和45%)㊂抗精神病药物代谢及不良反应相关基因中亦包含C Y P3A4基因,基因突变后导致药物为中间代谢的比例较高(C Y P2D6为43%,C Y P1A2为46%),慢代谢的百分比较低(C Y P2D6为1%,C Y P1A2为9%);基因突变可导致药物不良反应风险增高(M C4R基因占35%;H T R2C高达95%)㊂抗抑郁药物代谢及不良反应相关基因也包含C Y P2D6㊁C Y P1A2和C Y P3A4基因,其余4个基因均有不同基因型分布㊂抗癫痫药 心境稳定剂相关基因检测结果显示,C Y P2C9未见突变位点,其余8个基因均有不同基因型分布㊂2.2药物疗效比较治疗6周后,依据C G I评分减分率判定,研究组总有效率为77.78%,对照组为72.50%,研究组总有效率高于对照组,但差异无统计学意义(χ2=0.28,P>0.05)㊂研究组H AM D评分在治疗第4周时低于对照组,C G I评分在治疗第6周时低于对照组,差异均有统计学意义(P<0.05)㊂见表1㊂表1两组HAM D㊁C G I评分比较(xʃs,分)量表评分时间研究组(n=36)对照组(n=40)t P H AM D治疗前25.01ʃ2.3424.13ʃ1.450.73>0.05治疗2周后22.65ʃ1.24a23.25ʃ2.51a1.30>0.05治疗4周后8.62ʃ2.12b19.63ʃ1.65b2.33<0.05治疗6周后13.52ʃ2.65b14.87ʃ2.52b1.93<0.05 C G I治疗前5.48ʃ0.235.64ʃ0.641.47>0.05治疗2周后3.96ʃ0.61a4.17ʃ0.31a1.92>0.05治疗4周后3.26ʃ0.44b3.35ʃ0.33b1.02>0.05治疗6周后2.52ʃ0.21b2.68ʃ0.36b2.33<0.05注:与同组治疗前比较,a P<0.05;b P<0.01㊂2.3药物不良反应发生情况比较研究组不良反应总发生率为25.00%,对照组为47.50%,两组比较,差异有统计学意义(χ2=4.12,P<0.05)㊂研究组不良反应发生率前3位依次为:食欲下降5例(13.89%),恶心4例(11.11%),头晕3例(8.33%);对照组不良反应发生率前3位依次是:食欲下降6例(15.00%),失眠6例(15.00%),口干5例(12.50%),两组治疗前后血常规㊁肝肾功能㊁心电图等常规检查均未见异常㊂3讨论药物基因检测是用分子生物学的方法检测与药物代谢相关的酶㊁转运体㊁药物作用靶点及不良反应相关基因的变异情况,从而调整治疗方案进行个体化治疗㊂药物治疗是目前B P的主要治疗手段,由于个体对药物的敏感性和不良反应的耐受差异,仅30%~㊃8971㊃现代医药卫生2021年6月第37卷第11期J M o d M e d H e a l t h,J u n e2021,V o l.37,N o.1145%的患者可以获得临床症状的完全缓解㊂目前,临床上对B P的治疗仍遵循传统模式,采用经验用药㊂抗精神病药物主要通过细胞色素P450进行催化代谢,研究证实C Y P2C19是P450酶系超家族中的一种重要药物代谢酶,其活性强弱决定药物代谢速率的快慢㊂相关基因发生突变后,代谢酶合成减少或缺失,导致疗效下降或治疗失败,甚至不良反应发生㊂而根据基因检测结果调整精神分裂症患者的治疗方案,临床疗效增加[4]㊂提示药物基因检测可能对B P患者治疗有益㊂本研究中使用的抗B P药物主要有阿立哌唑㊁利培酮㊁帕罗西汀㊁奥氮平㊁氮氯平㊁齐拉西酮和舍曲林等,与之相关的代谢酶主要有C Y P3A4㊁C Y P2A9㊁C Y P2C19㊁C Y P3A5㊁C Y P2D6和C Y P1A2,本次检测的前2个基因型均为野生型,故药物调整主要根据后面4个基因的检测结果进行㊂细胞色素P4502D Y (C Y P2D6)基因作为细胞色素P450蛋白酶超家族中的一员,具有高度的基因多态性,且能参与利培酮等抗精神病药物的代谢反应㊂研究显示,在应用药物治疗前,尤其是面对首发精神分裂症患者,根据C Y P2D6基因多态性检测结果选择抗精神分裂症的药物,可以更好地调整药物剂量,使用药物更加安全[5]㊂本研究结果显示,在本地区人群中C Y P2D6* 10的基因携带频率为58%,酶的活性降低,代谢表型为中等代谢型(I M),提示本地区50%以上的B P患者如果使用这些药物应根据基因检测结果调整药物剂量或更换药物;C Y P2C19基因多态性分布不受性别的影响,但具有明显的地域性特点[6]㊂东方人群中慢代谢型(P M)的发生率高达13%~23%,本次结果为12%,略低于既往报道结果,I M比例为39%;C Y P3A5基因存在多个等位基因的突变,如C Y P3A5*2㊁C Y P3A5*3㊁C Y P3A5*4㊁C Y P3A5*5㊁C Y P3A5*6等,其中,C Y P3A5*3在各种族中发生突变频率最高[7],C Y P3A5基因存在正常代谢(E M)㊁I M和P M3种表型,本次检测的慢代谢(45%)比例较高,这与我国汉族人群种C Y P3A5以P M为主的结论一致[8]㊂与C Y P2D6一样,C Y P1A2存在超快代谢(UM)㊁E M㊁I M和P M4种表型[9],研究显示C Y P1A2的遗传变异可能会影响艾司西酞普兰的代谢,但与奥氮平临床疗效无显著相关性[10-11]㊂本次检测的P M为9%,但I M为46%,提示如果患者采用奥氮平治疗,约50%的患者需要减少药物剂量,以减轻药物不良反应㊂本研究结果显示,疗程结束后,两组总有效率比较,差异无统计学意义(χ2=0.28,P>0.05)㊂但在治疗第6周时研究组C G I评分低于对照组(P<0.05),治疗第4周时H AM D评分低于对照组(P<0.05),而不良反应发生率研究组低于对照组(χ2=4.12,P<0.05)㊂提示根据药物相关基因检测结果更换治疗方案后,患者可在短期内症状控制更明显,药物不良反应发生率降低㊂故治疗初期(2~4周)根据基因检测结果调整用药方案后可增强治疗效果和减轻药物不良反应,有利于快速控制病情,增加患者坚持治疗的信心㊂总之,精神疾病的治疗是一个非常复杂的过程,影响治疗效果的因素不仅包括遗传因素,也包括如环境和药物依从性等非药理学因素[12]㊂对于临床医生来说,如何合理地选择药物㊁剂量调整㊁临床监测及合理地控制不良反应显得尤为重要㊂根据基因检测结果对B P患者制订个体化的治疗方案,可以更好地控制临床症状,减轻不良反应㊂但因B P患者治疗依从性较差,本研究入组例数较少,观察周期较短,长期疗效㊁换药方法等尚需进一步研究㊂参考文献[1]陈策,郑丽丹,谢作良,等.双相情感障碍住院患者的临床特征及用药情况的调查研究[J].中国全科医学,2020,23(2):245-250.[2]M O O R E T R,H I L L A M,P A N G U L U R I S K.P h a r m a-c o g e n o m i c s i np s y c h i a t r y:i m p l i c a t i o n s f o r p r a c t i c e[J].R e c e n t P a t B i o t e c h n o l,2014,8(2):152-159.[3]肇丽梅.临床药物个体化治疗[J].药学进展,2020,44(6):401-403.[4]刘雯,苗佳.C Y P2C19基因多态性与个体化治疗的研究进展[J].华西医学,2014,29(12):2382-2386.[5]于晓东,杨楹,刘增训,等.C Y P2D6基因多态性与利培酮治疗精神分裂症的相关性研究[J].精神医学杂志,2020,33(3):209-213.[6]池宏波,杨英梅.台州地区汉族人群C Y P2C19基因多态性研究[J].浙江医学,2020,42(9):902-909.[7]Z HU W,X U E L,P E N G H,e t a l.T a c r o l i m u s p o p u l a t i o n p h a r m a-c o k i n e t i c m ode l s a c c o r d i n g t o C Y P3A5/C Y P3A4/P O R g e n o t y p e s i nC h i n e s e H a n r e n a l t r a n s p l a n t p a t i e n t s l[J].P h a r m a C o g e n o m i c s,2018,19(13):1013-1025.[8]张仁云,杨楹,邹连勇,等.中国汉族人群C Y P2D6㊁C Y P3A5㊁C Y P1A2基因多态性研究[J].精神医学杂志,2018,31(2):129-132.[9]刘克锋,乔高星,张旭锋,等.C Y P1A2基因多态性对抗精神病药物血药浓度影响的M e t a分析[J].中国药房,2020,31(14):1770-1777.[10]刘克锋,赵杰,杨勇杰,等.细胞色素P450酶1A2基因多态性与奥氮平临床疗效的相关性分析[J].中国临床药理学杂志,2020, 36(12):1632-1635.[11]S I N G H A,B E N I WA L R,K U K S H A L P,e t.a l.A p r e l i m i n a r ys t u d y o f a s s o c i a t i o n o f g e n e t i c v a r n t s w i t h e a r l y r e s p o n s e t o o l a n z a p i n e i n s c h i z o p h r e n i a[J].I n d i a n J P s y c h i a t r y,2018,60(1):10.[12]王汝展.精神类药物基因组学研究进展[J].精神医学杂志,2016,29(1):47-52.(收稿日期:2020-12-19修回日期:2021-03-21)㊃9971㊃现代医药卫生2021年6月第37卷第11期J M o d M e d H e a l t h,J u n e2021,V o l.37,N o.11。

第一章C++语言编程入门

第一章C++语言编程入门

第一章C++语言编程入门★ 课程概述第1章C++语言编程入门第2章函数第3章类与对象第4章指针与引用第5章继承第6章运算符重载第7章多态与虚函数第8章群体类第9章模板第10章I/O流第11章标准模板类库STL 第12章异常处理总复习3.1 类与对象概念的引入 2.1 函数的定义及调用 1.1 C++语言的产生 4.1 指针 5.1 继承与派生7.1 运算符重载的语法 6.1 C++语言是一种面向对象的程序11.1 多态性概述 3.2 基本数据结构知识 2.1.1 函数的定义1.2 类的声明 4.1.1 数据存储 3.3 对象的声明 2.1.2 指针的声明及使用 5.2 单继承10.1 I/O流概述设计语言函数的声明各章节总结12.1一元运算符异常处理的基本语法 4.1.2 6.2 线性群体9.1 构造函数与析构函数8.1 函数模板11.2 C++程序的开发步骤标准模板类库STL简介 3.4 2.1.3 函数的调用 1.3 4.1.3 指针运算 5.2.1 公有派生 3.5 类的组合 2.1.4 函数调用的执行过程 1.4 一个简单C++程序的组成7.2 虚函数6.3 二元运算符的重载4.1.4 与对象有关的指针8.1.1 可直接访问的线性群体―― 11.3 C++语言的词法记号 5.2.2 私有派生 3.6 向量 2.2 静态成员10.2 输入输出格式控制1.5 函数调用时参数的传递4.1.5 void和const指针2.3 内联函数3.6.1 静态数据成 1.6 数据类型 6.4 特殊的运算符数组类异常处理的使用9.2 类模板 5.2.3 保护派生12.2 4.2 动态内存分配11.4 运算符与表达式链表类的使用 2.4 指针与数组 3.6.2 静态成员函数 1.7 带默认形参值的函数 4.3 多继承 5.3 抽象类7.3 作用域6.4.1 =运算符的重载 3.7 指针与函数 2.5 友元8.1.2 顺序访问群体――链表类10.3 文件输入输出1.7.1 运算符 4.4 11.5 常对象、常成员函数与常数据成双端队列 3.8 派生类的构造函数与析构函数2.5.1 作用域分类5.4 字符串1.7.2 表达式4.5 6.4.2 ++和--运算符的重载员4.6 引用2.5.2 局部变量与全局变量1.7.3 表达式中数据类型的转换12.3 标准C++库中的异常类 5.5 二义性问题11.6 控制语句 3.9 引用与函数 2.6 类的作用域及对象的生存期10.4 栈与队列用户自定义类型的输入输出 1.8 递归调用 4.7 综合实例7.4 群体数据的排序与查找6.4.3 new 8.2 虚基类和delete运算符的重载 5.6 重载函数 2.7 指针与引用 3.9.1 类作用域 1.8.1 选择语句4.8 11.7 C++语言的系统函数集合2.8 赋值兼容原则3.9.2 对象生存期1.8.2 循环语句5.7 程序实例――链表 6.4.4 []的重载4.9 3.10 面向对象标记1.8.3 转移语句进程第1章C++语言编程入门1.1 C++语言的产生1.6 数据类型1.2 C++语言是一种面向对象的1.6.1 基本数据类型程序设计语言 1.6.2 变量 1.2.1 C++语言和面向对象的 1.6.3 常量程序设计 1.6.4 自定义数据类型1.2.2 C++语言与C语言的关1.7 运算符与表达式系1.7.1 运算符 1.3 C++程序的开发步骤 1.7.2 表达式 1.4 一个简单C++程序的组成1.7.3 表达式中数据类型的转换 1.5 C++语言的词法记号 1.8 控制语句 1.5.1 字符集 1.8.1 选择语句 1.5.2 词法记号1.8.2 循环语句1.8.3 转移语句C++语言是一种已得到广泛使用的面向对象的程序设计语言。

遗传学复习之——名词解释

遗传学复习之——名词解释

第2章遗传的三大基本定律1. 测交:指将未知基因型的个体与一隐性纯合基因型个体杂交来确定未知个体基因型的方法。

2. 回交:子一代与亲本之一相互交配的一种杂交方法。

3. 基因型:指所研究性状所对应的有关遗传因子。

4. 表型:指在特定的环境下所研究的基因型的性状表现。

5. 纯合体:由两个相同的遗传因子结合而成的个体。

6. 杂合体:由两个不同的遗传因子结合而成的个体。

7. 等位基因:指一对同源染色体的某一给定的位点的成对的遗传因子。

8. 不完全显性:又称半显性,杂合体的表型介于纯合体显性与纯合体隐性之间。

9. 并显性:一对等位基因的两个成员在杂合体中都表达的遗传现象。

10. 超显性:杂合体Aa的性状表现超过纯合显性AA的现象。

11. 致死基因:指那些使生物体不能存活的等位基因。

12. 一因多效:一个基因可以影响到若干性状,又称为基因的多效性。

13. 基因互作:不同对的基因相互作用,出现了新的性状。

14. 抑制基因:有些基因本身并不能独立地表现任何可见表型效应,但可以完全抑制其他非等位基因的表型效应。

15. 上位效应/遮盖作用:一对等位显性基因的表现受到另外一对非等位基因的作用,这种非等位基因的抑制作用称为上位效应。

起抑制作用的基因称为上位基因,被抑制的基因称为称为下位基因。

16. 连锁遗传:两队非等位基因并不总是能进行独立分配及自由组合的,而更多的时候是作为一个共同单位而传递的,从而表现为另一种遗传现象,即连锁遗传。

17. 不完全连锁:指位于同一染色体上的两个或两个以上的非等位基因不总是作为一个整体遗传到子代中去的。

18. 重组:新类型的产生是由于同源染色体上的不同对等位基因之间的重新组合的结果,这种现象称为重组。

19. 遗传染色体学说:在第一次减数分裂中,由于同源染色体的分离,使位于同源染色体的等位基因分离,从而导致性状的分离;由于决定不同性状的两对非等位基因分别处在两对非同源染色体上,形成配子时同源染色体的等位基因分离,非同源染色体上的非等位基因以同等的机会在配子内自由组合,从而导致基因的自由组合,实现了性状的自由组合。

遗传名词解释题

遗传名词解释题

医学遗传学名词解释第一章绪论1.医学遗传学(medical genetics):是遗传学与医学相结合的一门边缘学科。

是研究遗传病发生机制、传递方式、诊断、治疗、预后,尤其是预防方法的一门学科,为控制遗传病的发生和其在群体中的流行提供理论依据和手段,进而对改善人类健康素质作出贡献。

2.遗传病 (genetic disease):遗传物质改变所导致的疾病。

3.细胞遗传学(cytogenetics):研究人类染色体的正常形态结构以及染色体数目、结构异常与染色体病关系的学科。

4.生化遗传学(biochemical genetics)):研究人类遗传物质的性质,以及遗传物质对蛋白质合成和对机体代谢的调节控制的学科。

5.分子遗传学(molecular genetics):在分子水平上研究生物遗传与变异机制的遗传学分支学科,是生化遗传学的发展与继续。

是从基因水平探讨遗传病的本质。

第二章基因1.基因(gene):基因是决定一定功能产物的DNA序列。

2.RNA编辑(RNA editing):是导致形成的mRNA分子在编码区的核苷酸序列不同于它的DNA模板相应序列的过程.3.断裂基因(split gene):真核生物结构基因包括编码序列和非编码序列两部分,编码顺序在DNA中是不连续的,被非编码顺序间隔开,形成镶嵌排列的断裂形式,称为断裂基因。

4.终止子(terminator):一段回文序列(反向重复序列)与5’AATAAA3’组成,是位于结构基因末端起终止转录作用的一段DNA 。

5.GT-AG法则(GT-AG rule):在每个外显子和内含子之间的接头区高度保守的一致序列;每个内含子的5'端为GT;3'端为AG。

以上接头也称GT-AG法则。

6.核内不均一RNA(heterogenous nuclear RNA,hnRNA):在真核细胞核内可以分离到一类含量很高,分子量很大但不稳定的RNA,称为核内不均一RNA (heterogenous nuclear RNA,hnRNA),其平均分子长度为8-10Kb,长度变化的范围从2Kb左右到14Kb左右。

软件工程 第10章 面向对象的方法

第10章例题分析与解答作者:不详来源:2006年9月4日发表评论进入社区一、填空题1.面向对象方法认为系统是由应用域的___对象___组成。

2.对象具有状态,描述对象的状态用它的_属性值_____。

3.对象的抽象是_类_____。

4.类之间有两种结构关系,它们是分类关系和__组装____关系。

5.面向对象程序设计语言与其他程序设计语言的最主要差别是它具有_继承性_____。

6.动态模型描述了系统的__动态行为____。

二、选择题1.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( D)关系。

A.组装B.整体成员C.has aD.一般具体2.面向对象分析阶段建立的三个模型中,核心的模型是( C )模型。

A.功能B.动态C.对象D.分析3.对象模型的描述工具是( C)。

A.状态图B.数据流图C.对象图D.结构图4.在有多重继承的类层次结构中,它的类层次结构是(B )层次结构。

A.树型B.网状型C.环型D.星型5.描述类中对象的行为,反映了状态与事件关系的是( B )。

A.对象图B.状态图C.流程图D.结构图6.在确定属性时,所有( C)是候选的属性。

A.动词B.名词C.修饰性名词词组D.词组三、应用题1.建立窗口系统的对象模型。

问题陈述如下:窗口分为对话窗、图形窗、滚动窗三种;对话窗中有若干对话项,由唯一的项名字来确定,对话项分为按钮、选择项、正文项三种,选择项中有若干对话项入口;图形窗中有若干形状元素,形状元素分为一维形状和二维形状,一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中多边形和折线由若干有序顶点组成,正文窗是滚动窗的一种,而图形滚动窗既是一种图形窗又是一种滚动窗。

2.在学校教学管理系统中,学生查询成绩就是系统中的一次交互,请用状态图来描述这种查询的交互行为。

答案:一、填空题1.对象2.属性值3.类4.组装5.继承性6.动态行为二、选择题1.D2.C3.C4.B5.B6.C三、应用题1.2.第10章自测题及参考答案作者:不详来源:2006年9月1日发表评论进入社区一、名词解释1.对象2.类3.属性4.操作5.消息6.消息传递7.方法8.关系9.关联10.一般具体关系 11.整体部分关系12.继承13.单重继承 14.多重继承15.多态性 16.角色17.受限关联 18.封装19.对象模型20.动态模型21.功能模型 22.事件23.状态24.事件追踪25.状态图26.动作27.活动28.处理29.数据流30.动作对象31.数据存储对象 32.重用性二、填空题1.对象具有封装性,实现了__数据与操作____的结合。

第三版现代分子生物学课后习题集及答案

<<现代分子生物学>>课后习题答案(第三版朱玉贤)(共 10 章)第一章绪论 1. 你对现代分子生物学的含义和包括的研究范围是怎么理解的? 2. 分子生物学研究内容有哪些方面? 3. 分子生物学发展前景如何? 4. 人类基因组计划完成的社会意义和科学意义是什么?答案: 1. 分子生物学是从分子水平研究生命本质的一门新兴边缘学科,它以核酸和蛋白质等生物大分子的结构及其在遗传信息和细胞信息传递中的作用为研究对象,是当前生命科学中发展最快并正在与其它学科广泛交叉与渗透的重要前沿领域。

狭义:偏重于核酸的分子生物学,主要研究基因或 DNA 的复制、转录、达和调节控制等过程,其中也涉及与这些过程有关的蛋白质和酶的结构与功能的研究。

分子生物学的发展为人类认识生命现象带来了前所未有的机会,也为人类利用和改造生物创造了极为广阔的前景。

所谓在分子水平上研究生命的本质主要是指对遗传、生殖、生长和发育等生命基本特征的分子机理的阐明,从而为利用和改造生物奠定理论基础和提供新的手段。

这里的分子水平指的是那些携带遗传信息的核酸和在遗传信息传递及细胞内、细胞间通讯过程中发挥着重要作用的蛋白质等生物大分子。

这些生物大分子均具有较大的分子量,由简单的小分子核苷酸或氨基酸排列组合以蕴藏各种信息,并且具有复杂的空间结构以形成精确的相互作用系统,由此构成生物的多样化和生物个体精确的生长发育和代谢调节控制系统。

阐明这些复杂的结构及结构与功能的关系是分子生物学的主要任务。

2. 分子生物学主要包含以下三部分研究内容:A.核酸的分子生物学,核酸的分子生物学研究核酸的结构及其功能。

由于核酸的主要作用是携带和传递遗传信息,因此分子遗传学(moleculargenetics)是其主要组成部分。

由于 50 年代以来的迅速发展,该领域已形成了比较完整的理论体系和研究技术,是目前分子生物学内容最丰富的一个领域。

研究内容包括核酸/基因组的结构、遗传信息的复制、转录与翻译,核酸存储的信息修复与突变,基因达调控和基因工程技术的发展和应用等。

第11篇 细胞外基质及其及细胞的相互作用

3.功能 是构成弹性纤维的主要成份,与胶原纤维相互交
织,维持组织的弹性和韧性,防止组织撕裂和 过度伸展。
4.合成、装配与降解 在内质网合成后以可溶性弹性蛋白原的形式分泌
到细胞外,由赖氨酸之间相互交联转配成弹性 纤维网。降解有弹性蛋白酶催化。
32
三、粘着糖蛋白
粘着糖蛋白是胞外基质中一类多功能大分子, 有多个结构域,各个结构域可与不同的细胞和 胞外基质成分结合;从而使细胞与细胞外基质 相互黏着。
1.结构:由氨基聚糖(除透明质酸外)与核心蛋 白(core-protein)共价结合的高分子复合物。
蛋 透明质酸(中轴)
白 聚
连接蛋白
2.合成 (1)核心蛋白合成(
糖 多 聚
蛋白聚
核心蛋白(单链 多肽)
结合核糖体) (2)核心蛋白 + 糖链
体 糖单体 氨基聚糖(相同 → 蛋白聚糖单体(内质
或不同)
网腔)
成纤维细胞,成骨细胞,成软骨细胞,成 肌细胞; 各类上皮细胞,内皮细胞,脂肪细胞,雪 旺氏细胞,牙本质细胞
21
(1) 胶原在细胞内的合成 mRNA
在rER附着核糖体中合成多肽, 并进入ER腔
多肽链
在ER腔中, 切去信号肽; 脯氨 酸羟基化,赖氨酸羟基化和糖 基化; 肽链两端加上前肽序列
前链
在ER腔中, 3条链之间相互 交联形成前胶原分子
生有关;
(3)在创伤愈合过程中,愈伤组织局部的FN 过度表达导致瘢痕过度形成。
(4)恶性肿瘤组织的细胞表面纤连蛋白受体 异常,细胞粘着力降低,细胞容易脱离组织 而转移。
38
(二)层粘连蛋白 层粘连蛋白(laminin, LN)是胚胎发育过程各种组织基膜
上皮细胞 内皮细胞

《高级语言程序设计》课程教学大纲

《高级语言程序设计》课程教学大纲56学时 3.5学分一、课程的性质、目的及任务《高级语言程序设计》是计算机科学与技术、电子信息科学与技术和信息安全专业的一门专业基础课,目的是主要培养运用C++语言进行程序设计的能力。

本课程一方面讲述C++语言的基本特性,包括指针、数组、函数、类、对象、派生类、继承、流类库等内容,另一方面系统地介绍面向对象程序设计的基本概念、分析方法、设计方法和编程方法。

具体的教学任务为:1.准确描述问题、分析问题,以及运用计算思维解决问题的能力。

2.正确理解和使用C++语言的基本数据结构和语法,掌握面向对象程序设计的基本思想和方法,进行正确、完善的程序设计的能力。

3.使用C++语言集成开发环境完成面向对象程序的编写、调试的任务。

二、适用专业计算机科学与技术专业、电子科学与技术专业、信息安全专业三、先修课程信息技术概论四、课程的基本要求掌握选择、循环等c++的基本语句;掌握数组、指针等数据类型;掌握函数、对象、文件等程序的组成成分;掌握面向对象程序设计的基本思想,能独立分析问题并编程实现;掌握Visual c++ 6.0程序设计环境的基本用法,能进行程序的编写、调试和运行。

五、课程的教学内容第1章C++基础[知识点]面向对象编程特点、程序设计环境[重难点]1.教学重点C++程序的编写和实现2.教学难点(1)面向对象编程特点(2)C++上机实践[教学内容](1)程序设计语言的发展:讲解机器语言到高级语言的特点(2)面向对象编程:讲解程序设计的范式(过程型、面向对象型)(3)C++的特点:高级语言(4)C++程序的构成和书写形式:程序结构、书写规范(5)C++程序设计和实现:程序设计各阶段的任务(6)程序设计环境:程序设计的实例[教学要求](1)对面向对象概念只作概念性的描述,无需深入讲解(2)以实例讲解C++程序特点和程序设计环境第2章基本数据类型与运算符[知识点]数据类型、运算符[重难点]1.教学重点C++的运算符2.教学难点表达式的书写与计算[教学内容](1)C++的数据类型(2)常量与变量(3)C++的运算符[教学要求]要求学生熟练掌握运算符及其优先级第3章程序控制[知识点]结构化程序设计、结构控制语句[重难点]1.教学重点(1)C++的输入与输出(2)关系运算和逻辑运算(3)选择结构和if语句(4)条件运算符和条件表达式(5)多分支选择结构和switch语句(6)循环结构和循环语句(7)循环的嵌套2.教学难点(1)多分支选择结构和switch语句(2)循环的嵌套[教学内容](1)C++程序和语句(2)C++的输入与输出(3)关系运算和逻辑运算(4)选择结构和if语句(5)条件运算符和条件表达式(6)多分支选择结构和switch语句(7)循环结构和循环语句(8)循环的嵌套(9)break语句和continue语句[教学要求](1)要求学生掌握程序设计环境的使用方法,能独立进行程序设计。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十一章多态性10.1概述多态性是面向对象程序设计的三大基本特性(封装、继承、多态)之一。

对于多态性各种解释。

如:消息指对类成员函数的调用,而多态性的是指一种消息被不同类型的对象接收时会导致不同的的行为实现。

也有将多态性解释为多种形态。

以及多态性是指一个标识符具有多种状态,而状态指该标识符被使用时可以有不同的结合方式或可以产生不同的调用。

从程序设计最一般的角度考虑:程序设计最基本的任务之一是要解决程序正文中的符号与内部存储之间的映射关系,即如何将程序空间的正文符号通过编译或解释映射成为代码空间的存储或操作,而内部存储的描述一般用该存储区域的起始地址来标识。

传统的程序设计语言,主要指面向过程的程序设计语言,如C语言,在处理程序正文标识符与机器代码之间的映射时采用的是一对一的映射。

如:int x=1,*p=&x;将程序正文中的标识符x与内存中的一个整型单元联系到一起,并且将初值1存放到该内存单元。

而*p=&x则将程序正文中的标识符p与内存中的一个存放整型变量的地址的单元联系到一起,并且取出变量x的地址值,再将其存放到由整型指针p标识的地址单元。

在这里,x与其对应的整型单元之间以及整型指针p与其标识的地址单元之间的映射关系都是一对一的映射。

又例如:int max(int x,int y); int (*pf)(int,int)=max;max函数定义如下:int max(int x,int y){ return x>y?x:y; }此处程序正文中的标识符max标识的是函数max在内存一段代码的起始地址。

pf是一个函数指针,pf也标识内存中的一个存放地址的单元,与p不同的是该单元只能存放有两个整型形参且返回整型值的函数的地址。

后面一个说明中取出函数max的起始地址并将其存放到由函数指针pf所标识的地址单元。

建立了标识符pf与内存一段代码之间的映射关系,这种映射关系也是一一的。

但是,在面向对象的程序设计语言中,如C++,程序正文标识符与机器代码之间使用一对一映射的约束被突破。

多个程序正文标识符可以映射到同一内存单元或存储区域,形成程序空间到代码空间的多对一映射。

记该映射为F。

F最有代表性的例证就是引用机制的引入,通过声明引用,可以使程序正文中的多个标识符标识同一内存单元。

这个在介绍引用时已经讨论过。

另一方面,C++也允许代码空间到程序空间的多对一映射,或程序空间到代码空间的一对多映射。

记该映射为G。

在C++中,映射G的就代表了多态。

G的实现方法就是多态性的体现。

例如考虑标识符fun与函数调用操作符的组合。

有:int fun(); int fun(int ); int fun(char ); … int fun(int,…,int );其一般形式是:返回类型 fun(形参列表);如果形参列表中形参个数有N种不同的表示,形参类型有M种不同的表示,则可以构造出用fun命名的N⨯M个不同的函数,并且它们都是可重载的。

每一个函数在内存中占用一块存储,N⨯M个不同的函数在内存中占用N⨯M块不同的存储。

但是它们都由标识符fun 标识。

因此,通过重载,实现了程序空间一个标识符fun到代码空间N⨯M个不同的函数的N⨯M块不同的存储的一对多映射。

所以重载是映射G或多态性的表现形式之一,因此也被称为重载多态。

反映多态性的映射G的另一种表现形式是允许程序正文中的一个标识符one_id标识多个不同类型的存储D i,这种标识是通过程序运行期间将标识每个D i的标识符id i与标识符one_id结合实现的。

使得程序正文中的一个标识符one_id能够标识内存中多个由标识符id i标识的存储D i,从而实现one_id与存储D i之间的一对多映射,使one_id具有多态性特征。

在程序运行期间建立这种映射关系的过程称为动态束定(也称为动态联编或动态绑定)。

这种多态性往往称为类型多态,具体体现在类型强制和子类型(类型适应)。

子类型可以用于构造多态指针、多态引用。

当函数的参数构成子类型时,表现出的多态性称为参数多态。

通过参数多态可以构造多态程序,使得一个函数可以为多种类型的对象共享。

即:当算法相同,但处理对象的类型不同时,能够用一个实现该算法的程序来处理各种不同类型的对象。

本章后面将会指出:通过公有继承,可以使派生类成为基类的子类型。

从而使原本作用于基类对象的代码变成可以重用于作用其派生类对象,达到基类对象和派生类对象共享这段代码的目的。

另外,模板以类型作为参数,以实现通用程序的设计,从形式上看似乎呈现多态特性。

但模板从本质上讲仍然属于程序正文的符号代换范畴。

根据实参类型进行推导,从函数模板推导出模板函数,从类模板推导出模板类,产生的结果仍然属于源程序范畴,因此本书不将其归纳到多态性的范畴。

反映多态性的映射G的第三种表现形式是在继承情况下,同一标识符可以为基类和派生类的成员函数命名。

这种多态往往称为包含多态。

这样使得程序正文中的一个标识符f_id 标识一个类体系结构中基类和派生中的多个不同的成员函数f i,而每个f i又表示内存中该成员函数所在的内存区域fD i,从而形成程序正文中的一个标识符f_id标识内存中多个成员函数所在的内存区域。

又一次建立了程序空间到代码空间的一对多映射。

注意:这里讨论的与函数重载是完全不同的。

在函数重载中,要么是多个同名函数都是某个类的成员函数,要么多个同名函数都不属于任何类,只有在这些情况下,才存在重载解析和重载的必要。

映射G反映出的这种多态性在C++中表现为虚函数。

标识符f_id究竟标识那个成员函数f i?对f_id的调用究竟导致那个fD i的代码被调用?这些都要在程序运行期间通过动态束定来予以解决。

归纳起来,C++的多态性体现在通过函数或操作符重载所实现的重载多态,通过类型强制和子类型实现的类型多态,以及在继承情况下,允许同一标识符为基类和派生类的多个成员函数命名以实现虚函数的包含多态。

多态性的本质特征是建立了程序空间到代码空间的一对多的映射。

10.2类型强制将一种类型的值强制转换成为另一种类型的值称为类型强制。

在基本数据类型之间可以通过显式的强制类型转换实现类型强制。

如:对于int x;用x=(int)3.14;或x=int (3.14);或x=static_cast<int>(3.14);都可以完成将浮点数3.14转换为整型数3。

在类类型的定义和使用之间也同样存在类似的类型强制,只不过这种类型强制既可以通过显式的方式来完成,也可以缺省的由构造函数来自动转换,甚至可以根据需要在类中定义类型强制转换成员函数来完成指定的类型强制。

10.2.1 构造函数实现的类型强制当函数的形参为类类型且实参与形参类型不一致的时候,系统将调用构造函数将实参的类型向形参的类类型转换,自动完成类型强制。

先看下面的例子。

例 11-1在f函数被调用过程中,构造函数被自动调用完成类型强制的例子。

设有关于类A以及f函数的声明和定义如下:#include "iostream.h"struct A {A(int x){a=x;cout<<a<<" constructor of class A is called!\n";}A(A& r){a=r.a;cout<<a<<" copy constructor of class A is called!\n";}~A(){cout<<a<<" destructor of class A is called!\n";}void Show(void) const{ cout<<"a="<<a<<endl; }private:int a;};void f(const A& r){cout<<"function f is called!\n";r.Show();}(1)当实参与形参类型一致,有:void main(void){A obja(10);f(obja);}程序运行结果为:10 constructor of class A is called!function f is called!a=1010 destructor of class A is called!此时函数f被调用时没有产生对类A构造函数的调用。

(2)当函数f的形参为A类型引用,但实参为常量时,构造函数被自动调用完成类型强制。

相应的main函数为:void main(void){A obja(10);f(1);}程序运行结果为:10 constructor of class A is called!1 constructor of class A is called!function f is called!a=11 destructor of class A is called!10 destructor of class A is called!此时函数f被调用产生了对类A构造函数的调用。

由于实参与形参的类型不一致,系统此时调用构造函数将常量1的类型int强制转换成为类类型A。

具体过程是在main函数环境中创建一个A类型的匿名对象,并以常量1为初值初始化该匿名对象。

然后f函数的形参r引用该匿名对象并完成显示输出操作,返回mian函数后该匿名对象随即被清除。

类似的,在mian函数中的f(1);后增加一句:obja='a';也会产生调用构造函数完成由char类型向A类型的类型强制。

再例如,对于表达式A(6).Show(),系统也会调用构造函数创建一个匿名对象,并完成由int类型向A类型的类型强制。

然后基于该匿名对象来调用Show()成员函数。

一般的,设类X有如下形式的构造函数:X(T); 以及X(const T& );当一个表达式需要X类型的数据,而程序中实际提供的却是T类型的数据,系统将自动调用X类的构造函数进行从T类型向X类型转换的类型强制。

类型强制的结果是将T类型的数据转换形成X类型的数据以满足表达式的求值需要。

类型强制的过程则是通过创建匿名对象来进行。

并且,在匿名对象的创建和清除的过程中,要调用类X的构造函数和析构函数。

正因为如此,称构造函数具有类型强制作用。

特别的,当类X的构造函数为X()时,应理解T取void。

例如:如果上面例子的类A中有:A(void){a=0;cout<<"default constructor of class A is called!\n";} 或:A(){a=0;cout<<"default constructor of class A is called!\n";}则:A().Show();语句完全正确。

相关文档
最新文档