当前位置:文档之家› C++面向对象程序设计第8章 继承与派生习题解答

C++面向对象程序设计第8章 继承与派生习题解答

C++面向对象程序设计第8章 继承与派生习题解答
C++面向对象程序设计第8章 继承与派生习题解答

第8章习题

一、概念题

1.解答要点如下。

⑴采用public公有派生,基类成员的访问权限在派生类中保持不变,即基类所有的公有或保护成员在派生类中仍为公有或保护成员。public派生最常用,可以在派生类的成员函数中访问基类的非私有成员,可通过派生类的对象直接访问基类的公有成员。

⑵采用private私有派生,基类所有的公有和保护成员在派生类中都成为私有成员,只允许在派生类的成员函数中访问基类的非私有成员。private派生很少使用。

⑶采用protected保护派生,基类所有的公有和保护成员在派生类中都成为保护成员,只允许在派生类的成员函数和该派生类的派生类的成员函数中访问基类的非私有成员。

2.解答要点如下。

派生类构造函数的执行次序:首先,调用基类构造函数,调用顺序按照它们被继承时声明的基类名顺序执行;其次,调用内嵌对象构造函数,调用次序为各个对象在派生类内声明的顺序;最后,执行派生类构造函数体中的内容。

派生类析构函数执行过程与构造函数执行过程相反。即当派生类对象的生存期结束时,首先调用派生类的析构函数,然后调用内嵌对象的析构函数,再调用基类的析构函数。

3.解答要点如下。

在多重继承中,如果多条继承路径上有一个公共的基类,则在这些路径的汇合点上的派生类会产生来自不同路径的公共基类的多个拷贝,如果用virtual把公共基类定义成虚基类,则只会保留公共基类的一个拷贝。引进虚基类的目的是为了解决二义性问题,使得公共基类在它的派生类对象中只产生一个基类子对象。

二、填空题

1.派生类基类

2.public、protected、private

3.virtual

4.基类派生类自身

5.成员函数

三、编程题

1.

#include

#include

#include

class base //定义一个基类

{protected:

char name[20]; //姓名

char sex[3]; //性别

int age; //年龄

};

class teacher:public base //基类派生出教师类

{ int sno; //工号

char zc[20]; //职称

double wages; //工资

};

class student :public base //基类派生出学生类{ int sno; //学号

char bj[10]; //班级

char zy[10]; //专业

double score; //入学成绩…

};

2.

class Shape{

public:

virtual float area()=0;

};

float total(Shape *s[],int n)

{

float sum=0.0;

for(int i=0;i

sum+=s[i]->area();

return sum;

}

class Triangle:public Shape

{

public:

Triangle(double h,double w){H=h;W=w;}

double area() const{return H*W*0.5;}

private:

double H,W;

};

class Rectangle:public Shape

{

public:

Rectangle(double h,double w){H=h;W=w;}

double area()const{return H*W;}

private:

double H,W;

};

3.

#include

class Vehicle

{

protected:

int wheels;

double weight;

public:

void initialize(int whls, double wght);

int get_wheels() { return wheels; }

double get_weight() { return weight; }

double wheel_loading() { return weight/wheels; }

};

class Car:public Vehicle

{

private:

int passenger_load;

public:

void initialize(int whls, double wght, int people =4);

int passengers() { return passenger_load; }

};

class Truck: public Vehicle

{

private:

int passenger_load;

double payload;

public:

void init_truck(int number =2, double max_load =24000.0);

double efficiency();

int passengers() { return passenger_load; }

};

void Vehicle::initialize(int whls, double wght)

{

wheels=whls;

weight=wght;

}

void Car::initialize(int whls, double wght, int people)

{

wheels=whls;

weight=wght;

passenger_load=people;

}

void Truck::init_truck(int number, double max_load)

{

passenger_load=number;

payload=max_load;

}

double Truck::efficiency()

{

return payload/(payload+weight);

}

void main()

{

Vehicle bicycle;

bicycle.initialize(2,25);

cout<<"the bicycle has "<

cout<<"the bicycle weighs "<

cout<<"the bicycle's wheel loading is "<

Car audi;

audi.initialize(4,3500.0,5);

cout<<"the audi has "<

cout<<"the audi weighs "<

cout<<"the audi's wheel loading is "<

Truck jief;

jief.initialize(18,12500.0);

jief.init_truck(2,33675.0);

cout<<"the jief has "<

cout<<"the jief weighs "<

cout<<"the jief's efficiency is "<<100.0*jief.efficiency()<<" percent.\n";

}

c++实验继承与派生上机练习题

1.定义一个哺乳动物类Mammal,并从中派生出一个狗类Dog,下面给出Mammal类的定义,要求: (1)添加Dog类的颜色数据成员,访问属性为私有,通过SetColor和GetColor成员函数来对颜色进行设置和获取。 (2)分别为基类和派生类添加相应的构造函数(有参、无参)和析构函数,并进行测试。 class Mammal { protected: int itsAge; int itsWeight; public: int GetAge(){return itsAge;} void SetAge(int age) {itsAge=age;} int GetWeight() { return itsWeight;} void SetWeight(int weight) {itsWeight= weight;} }; class Dog : public Mammal { //定义Dog类的数据成员和成员函数 }; 改: #include #include using namespace std; class Mammal { protected: int itsAge; int itsWeight; public: Mammal(); ~Mammal(); int GetAge(){return itsAge;} void SetAge(int age) {itsAge=age;} int GetWeight() { return itsWeight;} void SetWeight(int weight) {itsWeight= weight;} }; class Dog : public Mammal {

实验四 继承与派生讲解学习

实验四继承与派生

实验四派生类与继承 【实验类型】验证性实验【实验课时】2学时 【实验目的】 (1)理解类的继承的概念,能够定义和使用类的继承关系。 (2)掌握派生类的声明与定义方法。 (3)熟悉公有派生和私有派生的访问特性。 (4)学习虚基类在解决二义性问题中的作用。 【实验环境】 硬件:计算机 软件:Microsoft Visual C++ 6.0 【实验内容】 1、按要求阅读、编写、调试和运行以下程序。 (1)实验内容 ①定义一个基类MyArray,基类中可以存放一组整数。 class MyArray {public: MyArray(int leng); ~MyArray(); void Input(); void Display(); protected: long int *alist; // 指向动态申请的一组空间 int length;}; // 整数的个数 基类中有构造函数、析构函数、输入数据和输出数据的函数。 ②定义一个类SortArray继承自MyArray ,在该类中定义函数实现排序功能。

③定义一个类ReArray继承自MyArray ,在该类中定义函数实现逆转功能。 ④定义一个类AverArray继承自MyArray ,在该类中定义函数Aver求解整数的平均值。 ⑤定义NewArray类,同时继承了SortArray, ReArray和AverArray,使得NewArray类的对象同时具有排序、逆转、和求平均值的功能。在继承的过程中声明为虚基类,体会虚基类在解决二义性问题中的作用。 (2)实验程序 (参考) 程序如下: #include "iostream.h" #include "process.h" class MyArray {public: MyArray(int leng); ~MyArray(); void Input(); void Display(); protected: long int *alist; // 指向动态申请的一组空间 int length; // 整数的个数 }; MyArray::MyArray(int leng) { length=leng; alist=new long int[length]; if(alist==NULL) { cout<<"对不起,创建失败。请重试。 ";exit(1); } } MyArray::~MyArray() {

有机波谱分析习题(最新)

有机波谱分析习题 第一章电子辐射基础 (一)判断题 1.现代分析化学的任务是测定物质的含量。( ) 2.测定某有机化合物中C、H、O、N元素含量的方法属于定性分析。( ) 3.测定某有机化合物中是否含有羰基属于有机结构分析。( ) 4.利用物质分子吸收光或电磁辐射的性质,建立起来的分析方法属于吸收光谱分析。( ) 5.物质被激发后,利用物质跃迁至低能态或基态时发光的性质建立起来的分析方法属于发射光谱分析。( ) 6.根据Franck-condon原理,在电子能级发生跃迁时,必然伴随振动能级和转动能级的变化。( ) 7.紫外吸收光谱、红外吸收光谱、核磁共振波谱和质谱是有机结构分析的四种主要的有机光波谱分析方法,合称为四大谱。( ) 8.电磁辐射的波长越长,能量越大。( ) 9.有机波谱分析方法和仪器分析方法的灵敏度和准确度都要比化学分析法高得多。( ) 10.一般来讲,分子光谱远比原子光谱复杂,原子光谱通常为线状光谱,而分子光谱为带状光谱。( ) 11.吸收定律偏离线性完全是由于仪器因素引起的。( ) 12.电子能级间隔越小,跃迁时吸收光子的频率越大。( ) 13.分子光谱是由于电子的发射而产生的。( ) 14.分子荧光也叫二次光,都属吸收光谱的畴。( ) 15.ICP可用于测定F、Cl、Br、C、H、N、O、S等非金属元素。( ) (一)判断题答案 1.×2.×3.√4.√5.√6.√7.√8.×9.×l0.√11.×l2.×13.×l4.×l5.× (二)单选题 1.光或电磁辐射的二象性是指( )。 A.电磁辐射是由电矢量和磁矢量组成;B.电磁辐射具有波动性和电磁性; C.电磁辐射具有微粒性和光电效应;D.电磁辐射具有波动性和微粒性。 2.光量子的能量与电磁辐射的哪一个物理量成正比?( ) A.频率;B.波长;C.周期;D.强度 3.可见光区、紫外光区、红外光区、无线电波四个电磁波区域中,能量最大和最小的区域分别为( )。 A.紫外光区和无线电波区;B.紫外光区和红外光区; C。可见光区和无线电波区;D.可见光区和红外光区。 4.频率为l×107MHz的电磁辐射是处在哪个光区?( ) A.红外光区;B.紫外光区;C.无线电波区;D.可见光区。 5.有机化合物成键电子的能级间隔越小,受激跃迁时吸收电磁辐射的( )。 A.能量越大;B.波数越大;C.波长越长;D.频率越高。 6.分析化学发生第二次变革的年代是( )。 A.20世纪初;B.20世纪20年代;C.20世纪40年代;D.20世纪末。

c练习题带答案

c练习题带答案集团标准化工作小组 #Q8QGGQT-GX8G08Q8-

一、选择题 1.C++语言属于( C )。 A)自然语言 B)机器语言 C)面向对象语言 D)汇编语言2.下面选项中不属于面向对象程序设计特征的是(C) 。 A)继承性 B)多态性 C)相似性 D)封装性 3.可用作C++语言用户标识符的一组标识符是( B )。 A) void define +WORD B) a3_b3 _123 YN C) for -abc Case D) 2a DO sizeof 4.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素 a[2][1]的值为(A)。 A) 0 B) 4 C) 8 D) 6 5.下列情况中,哪一种情况不会调用拷贝构造函数( B ) A)用派生类的对象去初始化基类对象时 B)将类的一个对象赋值给该类的另一个对象时 C)函数的形参是类的对象,调用函数进行形参和实参结合时 D)函数的返回值是类的对象,函数执行返回调用者时 6.以下哪一关键字可用于重载函数的区分(C) A)extern B)static C)const D)virtual 7.下列有关数组的叙述中,正确的是( B ) A)C++中数组的存储方式为列优先存储 B)数组名可以作为实参赋值给指针类型的形参 C)数组下标索引从1开始,至数组长度n结束 D)数组指针的语法形式为:类型名 *数组名[下标表达式]; 8.下列有关继承和派生的叙述中,正确的是( C ) A)派生类不能访问通过私有继承的基类的保护成员 B)多继承的虚基类不能够实例化 C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数 D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现 9.实现运行时多态的机制是( A ) A)虚函数B)重载函数C)静态函数D)模版函数 10.若有下面的函数调用: fun(a+b, 3, max(n-1, b)); 其中实参的个数是( A) A)3 B)4 C)5 D)6 11.下列关于this指针的说法正确的是( B)

继承与多态习题

继承与多态习题 一.基本概念与基础知识自测题 8.1填空题 8.1.1 如果类α继承了类β,则类α称为(1)类,而类β称为(2)类。(3)类 的对象可作为(4)类的对象处理,反过来不行,因为(5)。如果强制转换则要注意(6)。 答案:(1)基类 (2)派生类 (3)派生类 (4)基类 (5)派生类有一些新成员 (6)只能派生类强制转换为基类 8.1.2 当用public继承从基类派生一个类时,基类的public成员成为派生类的(1)成员, protected成员成为派生类的(2)成员,对private成员是(3)。公有派生可以使其类的(4),所以公有派生是主流。 答案:(1)public成员 (2)protected成员 (3)不可访问 (4)接口不变 8.1.3 利用继承能够实现(1)。这种实现缩短了程序开发的时间,VC++中的(2)很 好地体现了这一点。 答案:(1)代码的复用 (2)MFC编程 8.1.4 一个派生类只有一个直接基类的情况称为(1),而有多个直接基类的情况称为 (2)。继承体现了类的(3)概念,这在MFC中得到了很好表现,MFC中只采用了(4)。 答案:(1)单继承 (2)多重继承 (3)层次 (4)单继承 8.1.5 C++中多态性包括两种多态性:(1)和(2)。前者是通过(3)实现的, 而后者是通过(4)和(5)来实现的。 答案:(1)编译时的 (2)运行时的 (3)函数和运算符的重载 (4)类继承关系 (5)虚函数 8.1.6 在基类中将一个成员函数说明成虚函数后,在其派生类中只要(1)、(2)和

(3)完全一样就认为是虚函数,而不必再加关键字(4)。如有任何不同,则认为是(5)而不是虚函数。除了非成员函数不能作为虚函数外,(6)、(7)和(8)也不能作为虚函数。 答案:(1)同虚函数名 (2)同参数表 (3)同返回类型。如基类中返回基类指针,而派生类中返回派生类指针是允许的 (4)virtual (5)重载 (6)静态成员函数 (7)内联函数 (8)构造函数 8.1.7 纯虚函数定义时在函数参数表后加(1),它表明程序员对函数(2),其本质 是将指向函数体的指针定为(3)。 答案:(1)=0 (2)不定义 (3)NULL 8.2简答题 8.2.1构造函数和析构函数可以继承吗?派生类构造函数各部分的执行次序是怎样的?答:构造函数和析构函数不可以继承。派生类构造函数各部分的执行次序是: 1.调用基类构造函数,按它们在派生类声明的先后顺序,依次调用。 2.调用新增成员对象的构造函数,按它们在类定义中声明的先后顺序,依次调用。 3.派生类的构造函数体中的操作。 8.2.2什么叫派生类的同名覆盖(override)? 答:如果派生类声明了一个和某个基类成员同名的新成员(当然如是成员函数,参数表也必须一样,否则是重载),派生类中的新成员就屏蔽了基类同名成员,类似函数中的局部变量屏蔽全局变量。称为同名覆盖(override)。 8.2.3派生类的析构函数中需完成什么任务?是否要编写对基数和成员对象的析构函数的 调用?为什么? 答:析构函数的功能是作善后工作,析构函数无返回类型也没有参数,情况比较简单。派生类析构函数定义格式与非派生类无任何差异,不要编写对基数和成员对象的析构函数的调用,只要在函数体内把派生类新增一般成员处理好就可以了,因为对新增的成员对象和基类的善后工作,系统会自己调用成员对象和基类的析构函数来完成。 8.2.4为什么要使用虚基类?怎样定义虚基类?用一个实例来解释虚基类在其派生类中的 存储方式。 答:在多重继承是有可能出现同一基类的两个拷贝,为避免这种情况,可使用虚基类。虚基类(virtual base class)定义方式如下: class派生类名:virtual 访问限定符基类类名{...}; class派生类名:访问限定符virtual基类类名{...}; virtual 关键字只对紧随其后的基类名起作用。

波普分析试题

波谱解析试题A 一、名词解释(5*4分=20分) 1.波谱学:波谱学是涉及电池辐射与物质量子化的能态间的相互作用,其理论基础是量子化的能量从辐射场向物质转移。 2.屏蔽效应:感生磁场对外磁场的屏蔽作用称为电子屏蔽效应 3.电池辐射区域:γ射线区,X射线区,远紫外,紫外,可见光区,近红外,红外,远红外区,微波区和射频区 4.重排反应;在质谱裂解反应中,生成的某些离子的原子排列并不保持原来分子结构的关系,发生了原子或基团重排,产生这些重排离子的反应叫做重排反应 5.驰骋过程:要想维持NMR信号的检测,必须要有某种过程,这个过程就是驰骋过程,即高能态的核以非辐射的形式放出能量回到低能态,重建Boltzmann分布的过程。 二、选择题。(10*2分=20分)CDBBA BCCAB 1. 化合物中只有一个羰基,却在1773cm-1和1736cm-1处出现两个吸收峰这是因为:(C ) A、诱导效应 B、共轭效应 C、费米共振 D、空间位阻 2. 一种能作为色散型红外光谱仪的色散元件材料为:() A、玻璃 B、石英 C、红宝石 D、卤化物晶体 3. 预测H2S分子的基频峰数为:(B ) A、4 B、3 C、2 D、1 4. 若外加磁场的强度H0逐渐加大时,则使原子核自旋能级的低能态跃迁到高能态所需的能量是如何变化的:() A、不变 B、逐渐变大 C、逐渐变小 D、随原核而变 5. 下列哪种核不适宜核磁共振测定:() A、12C B、15N C、19F D、31P 6.在丁酮质谱中,质荷比质为29的碎片离子是发生了() A、α-裂解 B、I-裂解 C、重排裂解 D、γ-H迁移 7. 在四谱综合解析过程中,确定苯环取代基的位置,最有效的方法是()

C++语言程序设计实验答案_继承与派生教学提纲

C++语言程序设计实验答案_继承与派生

实验07 继承与派生(4学时) (第7章继承与派生) 一、实验目的 二、实验任务 7_1 声明一个基类Animal。 有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。 7_2 声明一个基类BaseClass。 有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 7_3 声明一个车(vehicle)基类。 具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNum)等属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试看。

7_4 以实验6中的People(人员)类为基类。 派生出student(学生)类,添加属性:班号char classNo[7]; 派生出teacher(教师)类,添加属性:职务char principalship[11]、部门char department[21]。 从student类中派生出graduate(研究生)类,添加属性:专业char subject[21]、导师teacher adviser; 从graduate类和teacher类派生出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类。 类之间的关系如图7-1所示。 图7-1 类图

(一到四章)有机化合物波谱解析复习指导

第一章紫外光谱 一、名词解释 1、助色团:有n电子的基团,吸收峰向长波方向移动,强度增强. 2、发色团:分子中能吸收紫外或可见光的结构系统. 3、红移:吸收峰向长波方向移动,强度增加,增色作用. 4、蓝移:吸收峰向短波方向移动,减色作用. 5、增色作用:使吸收强度增加的作用. 6、减色作用:使吸收强度减低的作用. 7、吸收带:跃迁类型相同的吸收峰. 二、选择题 1、不是助色团的是:D A、-OH B、-Cl C、-SH D、 CH3CH2- 2、所需电子能量最小的电子跃迁是:D A、ζ→ζ* B、 n →ζ* C、π→π* D、 n →π* 3、下列说法正确的是:A A、饱和烃类在远紫外区有吸收 B、 UV吸收无加和性 C、π→π*跃迁的吸收强度比n →ζ*跃迁要强10-100倍 D、共轭双键数目越多,吸收峰越向蓝移 4、紫外光谱的峰强用εmax表示,当εmax=5000~10000时,表示峰带:B 很强吸收B、强吸收 C、中强吸收 D、弱吸收 5、近紫外区的波长为:C A、 4-200nm B、200-300nm C、200-400nm D、300-400nm 6、紫外光谱中,苯通常有3个吸收带,其中λmax在230~270之间,中心为254nm的吸收带是:B A、R带 B、B带 C、K带 D、E1带 7、紫外-可见光谱的产生是由外层价电子能级跃迁所致,其能级差的大小决定了C A、吸收峰的强度 B、吸收峰的数目 C、吸收峰的位置 D、吸收峰的形状 8、紫外光谱是带状光谱的原因是由于:D A、紫外光能量大 B、波长短 C、电子能级差大 D、电子能级跃迁的同时伴随有振动及转动能级跃迁的原因 9、π→π*跃迁的吸收峰在下列哪种溶剂中测量,其最大吸收波长最大:A A、水 B、乙醇 C、甲醇 D、正己烷 10、下列化合物中,在近紫外区(200~400nm)无吸收的是:A A、 B、 C、 D、 11、下列化合物,紫外吸收λmax值最大的是:A(b) A、 B、 C、 D、 12、频率(MHz)为4.47×108的辐射,其波长数值为A

C 第八章继承与派生习题习题解答

第八章继承与多态习题 一.基本概念与基础知识自测题 8.1填空题 8.1.1 如果类α继承了类β,则类α称为(1)类,而类β称为(2)类。(3)类 的对象可作为(4)类的对象处理,反过来不行,因为(5)。如果强制转换则要注意(6)。 答案:(1)基类 (2)派生类 (3)派生类 (4)基类 (5)派生类有一些新成员 (6)只能派生类强制转换为基类 8.1.2 当用public继承从基类派生一个类时,基类的public成员成为派生类的(1)成员, protected成员成为派生类的(2)成员,对private成员是(3)。公有派生可以使其类的(4),所以公有派生是主流。 答案:(1)public成员 (2)protected成员 (3)不可访问 (4)接口不变 8.1.4 一个派生类只有一个直接基类的情况称为(1),而有多个直接基类的情况称为 (2)。继承体现了类的(3)概念,这在MFC中得到了很好表现,MFC中只采用了(4)。 答案:(1)单继承 (2)多重继承 (3)层次 (4)单继承 8.1.6 C++中多态性包括两种多态性:(1)和(2)。前者是通过(3)实现的, 而后者是通过(4)和(5)来实现的。 答案:(1)编译时的 (2)运行时的 (3)函数和运算符的重载 (4)类继承关系 (5)虚函数 8.2简答题(以下习题题号可能和教材不一致!) 8.2.1构造函数和析构函数可以继承吗?派生类构造函数各部分的执行次序是怎样的?答:构造函数和析构函数不可以继承。派生类构造函数各部分的执行次序是: 1.调用基类构造函数,按它们在派生类声明的先后顺序,依次调用。 2.调用新增成员对象的构造函数,按它们在类定义中声明的先后顺序,依次调用。 3.派生类的构造函数体中的操作。 8.2.2什么叫派生类的同名覆盖(override)?

《有机波谱析》习题

第二章:紫外吸收光谱法 一、选择 1. 频率(MHz)为4.47×108的辐射,其波长数值为 (1)670.7nm (2)670.7μ(3)670.7cm (4)670.7m 2. 紫外-可见光谱的产生是由外层价电子能级跃迁所致,其能级差的大小决定了(1)吸收峰的强度(2)吸收峰的数目 (3)吸收峰的位置(4)吸收峰的形状 3. 紫外光谱是带状光谱的原因是由于 (1)紫外光能量大(2)波长短(3)电子能级差大 (4)电子能级跃迁的同时伴随有振动及转动能级跃迁的原因 4. 化合物中,下面哪一种跃迁所需的能量最高 (1)σ→σ*(2)π→π*(3)n→σ*(4)n→π* 5. π→π*跃迁的吸收峰在下列哪种溶剂中测量,其最大吸收波长最大 (1)水(2)甲醇(3)乙醇(4)正己烷 6. 下列化合物中,在近紫外区(200~400nm)无吸收的是

(1)(2) (3)

(4)7. 下列化合物,紫外吸收λmax值最大的是

(1)(2) (3) (4)

二、解答及解析题 1. 吸收光谱是怎样产生的?吸收带波长与吸收强度主要由什么因素决定? 2. 紫外吸收光谱能提供哪些分子结构信息?紫外光谱在结构分析中有什么用途又有何 局限性? 3. 分子的价电子跃迁有哪些类型?哪几种类型的跃迁能在紫外吸收光谱中反映出来? 4. 影响紫外光谱吸收带的主要因素有哪些? 5. 溶剂对紫外吸收光谱有什么影响?选择溶剂时应考虑哪些因素? 6. 什么是发色基团?什么是助色基团?它们具有什么样结构或特征? 7. 为什么助色基团取代基能使烯双键的n→π*跃迁波长红移?而使羰基n→π*跃迁波长蓝移? 8. 为什么共轭双键分子中双键数目愈多其π→π*跃迁吸收带波长愈长?请解释其因。 9. pH对某些化合物的吸收带有一定的影响,例如苯胺在酸性介质中它的K吸收带和B 吸收带发生蓝移,而苯酚在碱性介质中其K吸收带和B吸收带发生红移,为什么?羟酸 在碱性介质中它的吸收带和形状会发生什么变化? 10. 某些有机化合物,如稠环化合物大多数都呈棕色或棕黄色,许多天然有机化合物也 具有颜色,为什么? 11. 画出酮羰基的电子轨道(π,n,π*)能级图,如将酮溶于乙醇中,其能级和跃 迁波长将发生什么变化?请在图上画出变化情况。 12. 某化合物的紫外光谱有B吸收带,还有λ=240nm,ε=13×104及λ=319nm,ε=50两 个吸收带,此化合物中含有什么基团?有何电子跃迁? 13. 下列化合物的紫外吸收光谱可能出现什么吸收带?并请估计其吸收波长及摩尔吸光 系数的范围。

C++继承与派生类习题

第九章继承与派生类 9.2 典型例题分析与解答 例题1:下列对派生类的描述中,()是错误的。 A.一个派生类可以作为另一个派生类的基类 B.派生类至少有一个基类 C.派生类的成员除了它自己的成员外,还包含了它的基类成员 D.派生类中继承的基类成员的访问权限到派生类保持不变 答案:D 分析:一个派生类可以作为另一个派生类的基类。无论是单继承还是多继承,派生类至少有 成 的成员时可能出现二义性。消除二义性的方法是采用作用域运算符。派生类和它的基类中出现同名函数时,不可能出现二义性。 例题4:多继承派生类构造函数构造对象时,()被最先调用。 A.派生类自己的构造函数 B.虚基类的构造函数 C.非虚基类的构造函数D.派生类中子对象类的构造函数 答案:B 分析:多继承派生类构造函数构造对象时,构造函数的调顺序是:虚基类的构造函数,派生类中子对象类的构造函数,派生类自己的构造函数。

例题5:C++类体系中,能被派生类继承的是()。 A.构造函数B.虚函数C.析构函数D.友元函数答案:B 分析:C++类体系中,构造函数、析构函数和友元函数是不能被派生类继承的. 例题6:设有基类定义: class Cbase { private: int a; protected: int b; public: int c; }; 用派生类中子对象类的析构函数,最后调用基类的析构函数。 例题11:设有以下类的定义: class A class B: protected A class C: private B { int A1; { int b1; { int c1; protected: int A2; protected: int b2; protected: int c2; public: int A3; public: int b3; public: int c3; }; }; }; 请按访问权限写出派生类C中具有的成员。 私有成员: (1)

有机物波普分析习题及解析

第一章质谱习题 1、有机质谱图的表示方法有哪些是否谱图中质量数最大的峰就是分子离子峰,为什么 2、以单聚焦质谱仪为例,说明质谱仪的组成,各主要部件的作用及原理。 3、有机质谱的分析原理及其能提供的信息是什么 4、有机化合物在离子源中有可能形成哪些类型的离子从这些离子的质谱峰中可以得到一些什么信息 5、同位素峰的特点是什么如何在谱图中识别同位素峰 6、谱图解析的一般原则是什么 7.初步推断某一酯类(M=116)的结构可能为A或B或C,质谱图上m/z 87、m/z 59、m/z 57、m/z29处均有离子峰,试问该化合物的结构为何 (A)(B) (C) 8.下列化合物哪些能发生McLafferty重排 9.下列化合物哪些能发生RDA重排 10.某化合物的紫外光谱:262nm(15);红外光谱:3330~2500cm-1间有强宽吸收,1715 cm-1处有强宽吸收;核磁共振氢谱:δ处为单质子单峰,δ处为四质子宽单峰,δ处为三质子单峰,质谱如

图所示。参照同位素峰强比及元素分析结果,分子式为C5H8O3,试推测其结构式。 部分习题参考答案 1、表示方法有质谱图和质谱表格。质量分析器出来的离子流经过计算机处理,给出质谱图和质谱数据,纵坐标为离子流的相对强度(相对丰度),通常最强的峰称为基峰,其强度定为100%,其余的峰以基峰为基础确定其相对强度;横坐标为质荷比,一条直线代表一个峰。也可以质谱表格的形式给出质谱数据。 最大的质荷比很可能是分子离子峰。但是分子离子如果不稳定,在质谱上就不出现分子离子峰。根据氮规则和分子离子峰与邻近峰的质量差是否合理来判断。 2、质谱仪的组成:进样系统,离子源,质量分析器,检测器,数据处理系统和真空系统。 进样系统:在不破坏真空度的情况下,使样品进入离子源。气体可通过储气器进入离子源;易挥发的液体,

实验六继承与派生

继承与组合 一、实验目的 1.了解继承在面向对象程序设计中的重要作用。 2.进一步理解继承与派生的概念。 3.掌握通过继承派生出一个新的类的方法。 4.了解虚基类的作用和用法。 5.掌握类的组合 二、实验内容 1.请先阅读下面的程序,写出程序运行的结果,然后再上机运行程序,验证自己分析的结果是否正确。 (1) #include using namespace std; class A {public: A(){cout<<"A::A() called.\n";} virtual ~A(){cout<<"A::~A() called.\n";} }; class B:public A {public: B(int i) { cout<<"B::B() called.\n";

buf=new char[i]; } virtual ~B() { delete []buf; cout<<"B::~B() called.\n"; } private: char *buf; }; void fun(A *a) { cout<<"May you succeed!"<

A::A() called. B::B() called. May you succeed! B::~B() called. A::~A() called. (2) #include using namespace std; class A{ public: A(int a,int b):x(a),y(b){ cout<<"A constructor..."<

c++实验8继承与派生上机练习题

1. 定义一个哺乳动物类Mamma,l 并从中派生出一个狗类Dog,要求: ( 1) 添加Dog 类的颜色数据成员,访问属性为私有,通过函数来对颜色进行设置和获取。 ( 2) 分别为基类和派生类添加相应的构造函数(有参、无参) 测试。 class Mammal { protected: int itsAge; int itsWeight; public: int GetAge(){return itsAge;} void SetAge(int age) {itsAge=age;} int GetWeight() { return itsWeight;} void SetWeight(int weight) {itsWeight= weight;} }; class Dog : public Mammal { // 定义Dog 类的数据成员和成员函数 }; 改: #include #include using namespace std; class Mammal { protected: int itsAge; int itsWeight; public: Mammal(); ~Mammal(); int GetAge(){return itsAge;} void SetAge(int age) {itsAge=age;} int GetWeight() { return itsWeight;} void SetWeight(int weight) {itsWeight= weight;} }; class Dog : public Mammal {下面给出Mamma类的定义,SetColor 和GetColor 成员和析构函数,并进行

c++实验三继承和派生类(附答案)

实验三继承和派生类 实验目的和要求 1.理解类的继承的概念,能够定义和使用类的继承关系。 2.掌握派生类的声明与定义方法。 3.熟悉公有派生和私有派生的访问特性。 4.学习虚基类在解决二义性问题中的作用。 实验内容 1.先阅读下面的程序,分析程序运行的结果,然后再上机运行程序,验证自己分析的结果是否正确。 (1) #include<> class A { public: A() { cout<<"A::A() called.\n"; } ~A() { cout<<"A::~A() called.\n"; } }; class B:public A { public: B(int i) { cout<<"B::B() called.\n"; buf=new char[i]; } ~B() { delete []buf; cout<<"B:~B() called.\n"; } private: c har *buf; }; void main() {

B b(10); } (2) #include<> class A { public: A(int a,int b):x(a),y(b) { cout<<"A constructor..."<

有机波谱解析(习题一)

有机波谱解析(习题一) 1、试推测有机化合物A 、B 和C 的结构式 (B )有碘仿反应,红外光谱图在1715cm -1有强吸收峰。A 的NMR 数据为3H (单峰),2H (四重峰),3H (三重峰)。 2、化合物A (C 6H 14O ),1HNMR 如下:δ0.9(9H ,单峰),δ1.10(3H ,双峰),δ3.40(1H ,四重峰),δ4.40(1H ,单峰)。A 与酸共热生成B (C 6H 12),B 经臭氧化和还原水解生成C (C 3H 6O ),C 的1HNMR 只有一个信号:δ2.1,单峰。请写出A 、B 、C 的构造式。 3、一中性化合物C 7H 13O 2Br 不产生肟或苯腙衍生物,IR 谱显示在2850~2950cm -1有一些吸收峰,但在3000cm -1以上没有,另一强吸收在1740cm -1。1HNMR 谱显示如下的信号:δ1.0(三重峰,3H ),δ1.3(二重峰,6H ),δ2.1(多重峰,2H ),δ4.2(三重峰,1H ),δ4.6(多重峰,1H )。试推断其结构并指认各谱峰的归属。 4、根据1HNMR 谱推测下列化合物的结构。 1)C 8H 10,δH :1.2(t ,3H ),2.6(q ,2H ),7.1(b ,5H )ppm ; 2)C 10H 14,δH :1.3(s ,9H ),7.3~7.5(m ,5H )ppm ;, 3)C 6H 14,δH :0.8(d ,12H ),1.4(h ,2H )ppm 4)C 4H 6Cl 4,δH :3.9(d ,4H ),4.6(t ,2H )ppm 5)C 4H 6Cl 4,δH :1.4(d ,2H ),5.2(t ,4H )ppm 6)C 4H 6Cl 2,δH :2.2(s ,3H ),4.1(d ,2H ),5.1(t ,1H )ppm 7)C 14H 14,δH :2.9(s ,4H ),7.1(b ,10H )ppm [其中:s 表示单峰;d 表示双峰;b 表示宽峰;t 表示三重峰;q 表示四重峰;m 表示多重峰;h 表示七重峰] C 4H 8Cl (A)C 4H 8O C 4H 6C 4H 8O C 4H 10O Hg 2+(B)(C)H 2O/H 2SO 4 H 2/Ni

继承与派生练习题

继承与派生练习题

习题八 第八章继承与派生 1.下列对派生类的描述中,(D.派生类中继承的基类成员的访问权限到派生类保持不变 )是错误的。 A.一个派生类可以作为另一个派生类的基类 B.派生类至少有一个基类 C.派生类的成员除了它自己的成员外,还包含了它的基类成员 D.派生类中继承的基类成员的访问权限到派生类保持不变 2. 派生类的对象对它的哪一类基类成员是可以访问的?(A.公有继承的基类的公有成员) A.公有继承的基类的公有成员 B. 公有继承的基类的保护成员 C. 公有继承的基类的私有成员 D. 保护继承的基类的公有成员 3. 关于多继承二义性的描述,(D.派生类和它的基类中出现同名函数时,将可能出现二义性 )是错误的。

A.派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义性B.一个派生类是从具有共同的间接基类的两个基类派生来的,派生类对该公共基类的访问可能出现二义性 C.解决二义性最常用的方法是作用域运算符对成员进行限定 D.派生类和它的基类中出现同名函数时,将可能出现二义性 4. 多继承派生类构造函数构造对象时,(B.虚基类的构造函数)被最先调用。 A.派生类自己的构造函数B.虚基类的构造函数 C.非虚基类的构造函数 D.派生类中子对象类的构造函数 5. C++类体系中,能被派生类继承的是( B.虚函数)。 A.构造函数 B.虚函数 C.析构函数 D.友元函数 6. 设有基类定义: class Cbase { private: int a; protected: int b; public: int c; }; 派生类采用何种继承方式可以使成员变量b成为自己的私有成员(A. 私有继承) A. 私有继承 B.保护继承

分析化学考研有机化合物波谱解析真题

分析化学考研有机化合物波谱解析真题

第一章 紫外光谱 一、简答 1.丙酮的羰基有几种类型的价电子。试绘出其能级图,并说明能产生何种电子跃迁?各种跃迁可在何区域波长处产生吸收? 2.指出下述各对化合物中,哪一个化合物能吸收波长较长的光线(只考虑π→π*跃迁)。 (2) (1) 及 NHR 3 CH CH OCH 3 CH 及CH 3 CH CH 2 3.与化合物(A )的电子光谱相比,解释化合物(B )与(C )的电子光谱发生变化的原因(在乙醇中)。 (C)(B) (A)入max =420 εmax =18600 入max =438 εmax =22000 入max =475 εmax =320003 N N N NO HC 32(CH )2 N N N NO H C 32(CH )2 2 32(CH )(CH )23N N N NO 4.苯胺在λmax 处的εmax 为1430,现欲制备一苯胺水溶液,使其透光率为30%(1cm 比色池),试问制备100ml 该溶液需取多少克苯胺? 二、分析比较 1.指出下列两个化合物在近紫外区中的区别:

CH CH 3 2 (A) (B) 2.某酮类化合物,当溶于极性溶剂中(如乙 醇中)时,溶剂对n →π*跃迁及π→π* 跃迁有何影响?用能级图表示。 3.试述对二烷基苯甲酸在下面一些溶剂中的紫 外光谱的区别: λ 乙醚 max =277nm εmax = 20600 λEtOH max =307nm εmax =19000 λ HCl max =307nm εmax =970 三、试回答下列各问题 1.某酮类化合物λhexane max =305nm ,其λEtOH max =307nm, 试问,该吸收是由n→π*跃迁还是π→π*跃迁引起的? 2. 1,1二苯乙烯(A )在环己烷中的UV 光谱与蒽(B )的UV 光谱有相当大的区别。在浓硫酸中这两个化合物UV 光谱非常相似,见表1-5,而在稀硫酸中又与环己烷中的UV 光谱相同,试问在浓硫酸中这两个化合物发生了什么变化? N R R COOH

C语言程序设计实验答案_继承与派生

实验07 继承与派生(4学时) (第7章继承与派生) 一、实验目的 二、实验任务 7_1 声明一个基类Animal。 有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。 7_2 声明一个基类BaseClass。 有整型成员变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 7_3 声明一个车(vehicle)基类。 具有MaxSpeed、Weight等成员变量,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNum)等属性。从bicycle和motorcar派生出摩托车(motorcycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程试试看。 7_4 以实验6中的People(人员)类为基类。 派生出student(学生)类,添加属性:班号char classNo[7]; 派生出teacher(教师)类,添加属性:职务char principalship[11]、部门char department[21]。 从student类中派生出graduate(研究生)类,添加属性:专业char subject[21]、导师teacher adviser; 从graduate类和teacher类派生出TA(助教生)类,注意虚基类的使用。重载相应的成员函数,测试这些类。 类之间的关系如图7-1所示。

最新有机波谱分析考试题库及答案

最新有机波谱分析考试题库及答案目录 第二章:紫外吸收光谱 法 ..................................................................... ........................................................ , 第三章红外吸收光谱法...................................................................... ................................................... , 第四章 NMR习 题 ..................................................................... ........................................................ ,, 第五章质 谱 ..................................................................... ................................................................. ,, 波谱分析试卷 A ...................................................................... ................................................................. ,, 波谱分析试卷 B ...................................................................... ................................................................. ,, 波谱分析试卷 C ...................................................................... ................................................................. ,, 二 ..................................................................... ........................................................................

相关主题
文本预览
相关文档 最新文档