组合:
【程序设计】
---------------------------------------------------------
题目:定义一个圆形类,属性有半径和相应的成员函数。
然后定义一个正方形类,属性有边长和相应的成员函数。
再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,要求该组合类能求出阴影部分面积和周长。通过主函数测试该类。组合图形见图:组合.JPG
输出结果见图:样张.JPG
-------------------------------------------------------*/
#include
#include
using namespace std;
const double PI=3.1416;
/**********Program**********/
class Box{
int A;
public:
void input(double a){
A=a;
}
double S(){
return A*A;
};
class circle
{
private:
int B;
public:
void input(double b)
{
B=b;
}
double S()
{
return PI*B*B;
}
};
class NewStyle{
int A,B;
public:
void input(double a,double b){
A=a;
B=b;
}
double S(){
return 3.14*(A*A)-B*B;
};
double L(){
return 2*PI*A+4*B;
};
/********** End **********/
int main(){
Circle A(4); //圆的半径为4
Box B(1); //正方形的边长为1
NewStyle C(A,B);
cout<<"自定义图形的面积"< cout<<"自定义图形的周长"< A.Set(6); //圆的半径变为6 B.Set(2); //正方形的边长变为2 C.Set(A,B); cout<<"自定义图形的面积"< cout<<"自定义图形的周长"< return 0; } 【程序设计】 --------------------------------------------------------- 题目:请补足date类和card的成员函数定义。 输出结果见图:样张.JPG -------------------------------------------------------*/ #include #include using namespace std; class date{ int year; int month; int day; public: date(int Year=0,int Month=0,int Day=0);//构造函数,给出初始的年月日 void setdate(int Year,int Month,int Day);//设置年月日 int get_year();//获取年份 int get_month();//获取月份 int get_day();//获取日期 }; class card { int book;//图书编号 int reader;//借阅者编号 date borrow_day;//出借日期 int expiry;//借阅期限 public: card(int Book, int Reader,date Borrow_day,int Expiry=60);//构造函数 date get_borrow_day();//获取出借日期 date get_return_day();//获取归还日期,归还日期=出借日期+借阅期限 int get_book();//获取图书编号 int get_reader();//获取借阅者编号 int get_expiry();//获取借阅期限 }; /**********Program**********/ /********** End **********/ void main(){ int stu=2012678;//借阅者编号 int cbook=100034;//图书编号 date day(2012,1,31);//出借日期 card c1(cbook,stu,day);//创建card对象c1 //以下打印借书卡c1信息 cout<<"借书卡c1: "< cout<<"-----------------------------------------------------"< cout< cout< cout< cout< cout< cout<<"-----------------------------------------------------"< day.setdate(2012,12,6);//设置借书日期 cbook=100077;//图书者编号 card c2(cbook,stu,day,30);//创建card对象c2 //以下打印借书卡c2信息 cout<<"借书卡c2: "< cout<<"-----------------------------------------------------"< cout< cout< cout< cout< cout< cout<<"-----------------------------------------------------"< } 单类 【程序设计】 --------------------------------------------------------- 题目: 设计并测试一个矩形类(Rectangle),属性为矩形的左上与右下角的坐标, 矩形水平放置。操作为计算矩形周长与面积。 输出见样张 -------------------------------------------------------*/ #include #include using namespace std; /**********Program**********/ /********** End **********/ int main(){ Rectangle rect; rect.Show(); rect.Assign(100,200,300,400); rect.Show(); Rectangle rect1(0,0,200,200); rect1.Show(); Rectangle rect2(rect1); rect2.Show(); cout<<"left-top point is ("< cout<<"right-bottom point is ("< cout<<"面积"< return 0; } 程序设计】 --------------------------------------------------------- 题目: 设计一个学校在册人员类(Person)。数据成员包括:身份证号(IdPerson), 姓名(Name),性别(Sex),生日(Birthday)和家庭住址(HomeAddress)。 成员函数包括人员信息的录入和显示。还包括构造函数与拷贝构造函数。 设计一个合适的初始值。 运行结果见样张。 -------------------------------------------------------*/ #include #include using namespace std; class Person{ char IdPerson[19]; //身份证号,18位数字 char Name[20]; //姓名 char Sex; //性别 int Birthday; //生日,格式1986年8月18日写作19860818 char HomeAddress[50]; //家庭地址 public: Person(char a[19],char b[20],char c,int d,char e[50]); Person(Person &); Person(); ~Person(); void PrintPersonInfo(); //输出人员信息 void inputPerson(); //输入人员信息 }; /**********Program**********/ /********** End **********/ void Person::inputPerson(){ cout<<"请输入身份证号,18位数字:"< cin.getline(IdPerson,19); cout<<"请输入姓名:"< cin.getline(Name,20); cout<<"请输入性别m或w:"< cin>>Sex; cout<<"请输入生日,格式1986年8月18日写作19860818:"< cin>>Birthday; cin.get(); //吸收回车符,否则地址输不进去 cout<<"请输入地址:"< cin.getline(HomeAddress,50); } void Person::PrintPersonInfo(){ int i; cout<<"身份证号:"< if(Sex=='m' ||Sex=='M')cout<<"男"<<'\n'; else if(Sex=='w' ||Sex=='M')cout<<"女"<<'\n'; else cout<<" "<<'\n'; cout<<"出生年月日:"; i=Birthday; cout< i=i%10000; cout< int main(){ Person Ps1("320102*********","朱海鹏",'m',19811226,"南京市黄浦路1号"), Ps2(Ps1),Ps3; Ps1.PrintPersonInfo(); Ps2.PrintPersonInfo(); Ps3.inputPerson(); Ps3.PrintPersonInfo(); return 0; } /*------------------------------------------------------- 【程序设计】 --------------------------------------------------------- 题目: 补充构造一个日期时间类(Timedate),数据成员包括年、月、日和时、分、秒,函数成员包括设置日期时间和输出时间,其中年、月请用整型,并完成测试。 输出见样张。 注意:自己写的代码中不能有cout -------------------------------------------------------*/ #include #include using namespace std; /**********Program**********/ /********** End **********/ void Timedate::list(){//成员函数,直接访问私有的数据成员cout<<"year/month/date :"; switch(year){ case 2000:cout<<"2000";break; case 2001:cout<<"2001";break; case 2002:cout<<"2002";break; case 2003:cout<<"2003";break; case 2004:cout<<"2004";break; case 2005:cout<<"2005";break; } switch(month){ case 1:cout<<'/'<<"Jan";break; case 2:cout<<'/'<<"Feb";break; case 3:cout<<'/'<<"Mar";break; case 4:cout<<'/'<<"Apr";break; case 5:cout<<'/'<<"May";break; case 6:cout<<'/'<<"Jun";break; case 7:cout<<'/'<<"Jul";break; case 8:cout<<'/'<<"Aug";break; case 9:cout<<'/'<<"Sep";break; case 10:cout<<'/'<<"Oct";break; case 11:cout<<'/'<<"Nov";break; case 12:cout<<'/'<<"Dec";break; } cout<<'/'< cout<<"hour:minite:second :"; cout< } int main(){ Timedate A(2004,3,3),B; A.list(); //输出A的日期和时间 B.list(); //输出B的日期和时间 B.putdate(2005,10,18); //更新B的日期 B.puttime(17,30,00); //更新B的时间 B.list(); //输出B的日期和时间 return 0; } 【程序设计】 --------------------------------------------------------- 题目: 定义一个圆类(Circle),属性为半径(radius)、圆周长和面积,操作为输入 半径并计算周长、面积,输出半径、周长和面积。要求定义构造函数(以半径为参数,缺省值为0,周长和面积在构造函数中生成)和拷贝构造函数。 注意:类中不能有cout 运行结果见样张。 -------------------------------------------------------*/ #include #include using namespace std; const double PI=3.14159265; /**********Program**********/ /********** End **********/ int main(){ Circle cl1(2),cl2,cl3=cl1; cout<<"圆半径:"< <<'\t'<<"圆面积:"< cl2.SetR(4); cout<<"圆半径:"< <<'\t'<<"圆面积:"< return 0; } C语言的类和对象 【类实现了C++面向对象程序设计的基础,我们使用类来定义对象的属性,类是 C++封装的基本单元。】 一、----- 类 使用关键字class创建类,一个类声明定义了一个连接代码和一个数据的新类型,这个新的类型又可以用来声明该类的对象。因此,类又是逻辑逻辑抽象概念,儿对象是物理存在的,也就是说对象是类的实例。 类的声明语法上和结构相似。 [一下是完整的类的形式] class class_name { private data and functions access_specifier: data and functions access_specifiter: data and functions //…….. access_specifier:是 data and functions }object_list; 其中,object_list是任选项,如过存在,他声明类的对象。access_specifier为下面的三个关键字之一: Public private protected 默认时,在类声明的函数和数据属于该类私有,只能被该类的成员访问。如果使用,pubilc访问限定符号,函数和程序就可以被其他部分访问。Protected访问限定符,仅在涉及继承的时候才需要(十五章了解)。访问限定符已经使用,其作用就保持到遇到别的访问限定符或者达到类声明的结束处。 在类声明内可以任意改变访问说明符号,对于某些声明,可以转换位public,然后再转换成private。 [如下所述] /******************************* ··构造函数和析构函数学习··· *******************************/ //Using a constructor and destructor. /******************************* 声明C++ 程序头文件 *******************************/ #include 类和对象 一、选择题 1、下面对方法的作用描述不正确的是:( d ) A、使程序结构清晰 B、功能复用 C、代码简洁 D、重复代码 2、方法定义的变量:( b ) A 、一定在方法所有位置可见B、可能在方法的局部位置可见 C、在方法外可以使用 D、在方法外可见 3、方法的形参:(a) A、可以没有 B、至少有一个 C、必须定义多个形参 D、只能是简单变量 4、方法的调用:(c) A、必须是一条完整的语句 B、只能是一个表达式 C、可能是语句,也可能是表达式 D、必须提供实际参数 5、return 语句:( d) A、不能用来返回对象 B、只可以返回数值 C、方法都必须含有 D、一个方法中可以有多个return 语句 6、void 的含义:(d) A、方法体为空 B、方法体没有意义 C、定义方法时必须使用 D、方法没有返回值 7、main()方法的返回类型是:( c ) A 、boolean B、int C、void D、static 8、方法重载所涉及的方法:( a ) A、有相同的名字 B、参数个数必须不同 C、参数类型必须不同 D、返回类型必须不同 9、下面关于类和对象之间关系的描述,正确的是( c ) A、联接关系B、包含关系C、具体与抽象的关系D、类是对象的具体化 10、下面关于java中类的说法哪个是不正确的( c ) A、类体中只能有变量定义和成员方法的定义,不能有其他语句。 B、构造方法是类中的特殊方法。 C、类一定要声明为public的,才可以执行。 D、一个java文件中可以有多个class定义。 11、下列哪个类声明是正确的( d) A、public void H1{…} B 、public class Move(){…} C、public class void number{} D、public class Car{…} 12、下面的方法声明中,哪个是正确的(c) A、public class methodName(){} B、public void int methodName(){} C、public void methodName(){} D、public void methodName{} 13、下述哪些说法是不正确的?( b ) A、实例变量是类的成员变量 B、实例变量是用static关键字声明的 C、方法变量在方法执行时创建 D、方法变量在使用之前必须初始化 14、下面对构造方法的描述不正确是( b)。 A、系统提供默认的构造方法 B、构造方法可以有参数,所以也可以有返回值 C、构造方法可以重载 D、构造方法可以设置参数 15、定义类头时,不可能用到的关键字是( b)。 A、class B、private C、extends D、public 16、下列类头定义中,错误的是( )。 A、public x extends y {...} B、public class x extends y {...} C、class x extends y implements y1 {...} D、class x {...} 17、设A为已定义的类名,下列声明A类的对象a的语句中正确的是( ) 。 A、float A a; B、public A a=A( ); C、A a=new int( ); D、static A a=new A( ); 18、设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( a )。 A、void X(int k ){ i=k; } B、X(int k ){ i=k; } C、X(int m, int n ){ i=m; j=n; } D、X( ){i=0;j=0; } 19、有一个类A,以下为其构造方法的声明,其中正确的是 计算机科学与技术实验报告 实验二类和对象(1) 姓名:易XX 班级:计科二班学号:2015110121 实验目的:深入理解类和对象,学会定义类,申明私有、公有变量,学会定义对象,并调用成员函数,解决实际问题。 实验内容: (一)、题目要求: 定义一个描述角度的类CAngle,包含的内容如下: (1)私有成员变量value,表示角度,类型为double; (2)公有成员变量SetValue,实现功能是使用形参为value赋值。 声明为:viod SetValue(double); (3)公有成员函数GetCos,实现功能计算余弦值,并作为返回值返回。 声明为 double GetCos(); 编程实现如下功能:定义一个Cangle类的对象deg,调用成员函数设置deg的角度为30度,调用成员函数计算并输出deg的余弦值。 代码: #include 17种词语组合大全 1.以……为…… 保证、标准、导向、手段、指针、龙头、目标、核心、依托、支持、支撑、主体、主题、主线、重点、中心、载体、先导、牵引、依据、纽带、桥梁、契机、基础、基点、核心、中心、根本、重点、举措、载体、平台、保障、保证、后盾、契机、总揽、抓手、目标、动力、依托、突破、目的、关键、先导、宗旨、支撑、指导、导向、方向、驱动、补充。 立足点、出发点、切入点、突破口、落脚点、闪光点、 结合点、根本点、增长点、着力点、动力点、关键点。2.……(N)个(种、项、道)…… 突出~个重点;掌握~个标准;完善~项制度;做好~个结合;坚定~项宗旨;盯住~个目标;提高~种能力;叫响~个口号;落实~点要求;养成~种风气;发挥~个作用;树立~种观念;解决~个难点;提倡~种精神;落实~项制度;搞好~项研究;掌握~种方法;强化~种意识;制定~项措施;把好~个关口;履行~道手续;围绕~的中心;选准~的主题;区分~个阶段。 3.新…… 新水平、新境界、新举措、新发展、新突破、新成绩、 新成效、新方法、新成果、新形势、新要求、新期待、 新关系、新体制、新机制、新知识、新本领、新进展、 新实践、新风貌、新事物、新高度。 4.……化 法制化、规范化、制度化、程序化、集约化、 正常化、有序化、智能化、优质化、常态化、 科学化、年轻化、知识化、专业化、系统化、 5.……心 热心、耐心、诚心、决心、红心、真心、公心、柔心、铁心、上心、用心、痛心、童心、好心、专心、坏心、爱心、良心、关心、核心、内心、外心、中心、忠心、衷心、甘心、攻心6.……意识: 政治意识、政权意识、大局意识、忧患意识、责任意识、法律意识、廉洁意识、学习意识、上进意识、管理意识。 7.……点 出发点、切入点、落脚点、着眼点、结合点、 关键点、着重点、着力点、根本点、支撑点。 找准出发点、找准切入点、找准落脚点、 把握着重点、把握切入点、明确落脚点、 把握着力点、抓住切入点、抓好落脚点。 8.……力 活动力、控制力、影响力、创造力、凝聚力、战斗力。 9.三字"于" 立足于、着眼于、贯穿于、 例 要着力培养讲政治的意识 组合类材料作文写作指导 【考点阐释】 高考材料作文一般提供的是单则材料,但有时也要求阅读多则材料来完成作文。例如XX年福建卷考“路的思辨”,材料是三句言论的组合;浙江卷考“人品与文品”,这是“言为心声、文如其人”与“心画心声总失真,宁复见为人”两种不同观点的组合。此外,XX年全国课标乙卷作文题,也可视为组合类材料作文题。 【文题设计】 阅读下面两段文字,根据要求写一篇不少于800字的。 有位老师对一名学习成绩优秀的同学说:你在小学考名,这不算什么,还有中学呢;你在中学考名,这不算什么,还有大学呢;你大学考名,这不算什么,你还没有参加工作呢;你参加工作谋了个好差事,这也不算什么,有了好差事,你并不一定就有了好位置;你有了好位置,不一定就能扮好你的社会角色。只有你用自己的学识、智慧、勇气和毅力赢得了社会财富,你才算成功了,但这也不是最后的成功。 这位老师对一名学习成绩差的同学说:你小学没考上名,这不要紧,还有中学呢;中学没考上名,这不要紧,还有大学呢;大学没考上名,这不要紧,你将来还要走上社会呢;参加工作后,没有谋个好工作,这不要紧,你还可以寻 找;一时寻找不到,这也不要紧,尝试着做几件事,你就会对自己有所发现。你一直没有成功,这不要紧,或许这是件好事,反倒使你保持一种冷静、不自满、从零开始的竞技状态。世上本来就没有最后成功的归宿。 要求选好角度,确定立意,明确文体,自拟标题;不要脱离材料内容及含意的范围作文,不要套作,不得抄袭。 【写作提示】 本题材料中有两句话耐人寻味——“只有你用自己的学识、智慧、勇气和毅力赢得了社会财富,你才算成功了,但这也不是最后的成功”“世上本来就没有最后成功的归宿”,由此可见,着眼材料整体,这是一个关涉怎样看待“成功”的命题。 具体的写作思路参考:一、就“成功”提出自己的理解,比如成功体现为努力追求的一种精神、一个过程,相对而言结果并不十分重要。在这一立意下,可记叙,可议论,可抒情。二、转换角度,立足于供料中教师的因材施教,谈高明的教育有助于学生走向成功。由此入题,以写成叙事性的为宜。 【佳作展示】 成功属于未 成功,是暴风雨之夜的灯塔,在海上搏击的船儿有哪一只不爱它的光芒?但又有几条幸运的船儿能够顺利地驶进 从C到O b j e c t i v e C类 和对象续 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY- 从 C++ 到 Objective-C(4):类和对象(续) 作者:日期: 2011 年 03 月 19 日(9) 方法 Objective-C 中的方法与 C++ 的函数在语法方面风格迥异。下面,我们就来讲述 Objective-C 的方法。 原型、调用、实例方法和类方法 以–开头的是实例方法(多数情况下都应该是实例方法); 以 + 开头的是类方法(相当于 C++ 里面的 static 函数)。 Objective-C 的方法都是 public 的; 返回值和参数的类型都需要用小括号括起来; 参数之间使用冒号:分隔; 参数可以与一个标签 label 关联起来,所谓标签,就是在 : 之前的一个名字。标签被认为是方法名字的一部分。这使得方法 比函数更易读。事实上,我们应该始终使用标签。注意,第一个 参数没有标签,通常它的标签就是指的方法名; 方法名可以与属性名相同,这使 getter 方法变得很简单。 C++ // 原型 void Array::insertObject(void*anObject, unsigned int atIndex); // shelf 是 Array 类的一个实例,book 是一个对象 shelf.insertObject(book, 2); Objective-C(不带 label,即直接从 C++ 翻译来) // 方法原型 // 方法名字是“insertObject::” // 这里的冒号:用来分隔参数,成为方法名的一部分(注意,这不同于C++ 的域指示符::) -(void) insertObject:(id)anObject:(unsigned int)index // shelf 是 Array 类的一个实例,book 是一个对象 [shelf insertObject:book:2]; Objective-C(带有 label) // 方法原型。“index” 有一个标签“atIndex” // 方法名为“insertObject:atIndex:” // 这样的话,调用语句就很容易阅读了 -(void) insertObject:(id)anObject atIndex:(unsigned int)index // shelf 是 Array 类的一个实例,book 是一个对象 [shelf insertObject:book:2]; // 错误! [shelf insertObject:book atIndex:2]; // 正确 注意,方括号语法不应该读作“调用 shelf 对象的 insertObject 方法”,而应该是“向 shelf 对象发送一个 insertObject 消息”。这是Objective-C 的实现方式。你可以向任何对象发送任何消息。如果目标对象不能处理这个消息,它就会将消息忽略(这会引发一个异常,但不 c类和对象练习题 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN# 第8章类与对象 8.1知识要点 1.掌握类与对象的概念和定义方法,掌握类成员的访问属性。 2.掌握构造函数的概念、定义方法和使用方法。 3.掌握析构函数的概念、定义方法和使用方法。 4.掌握拷贝构造函数的概念、定义方法和使用方法。 5.掌握包含对象成员的类构造函数的定义方法。 6.掌握静态成员的概念、定义方法、作用和特点。 7.掌握友元的概念、定义方法、作用和特点。 8.掌握类模板的定义格式与使用方法。 8.2典型例题分析与解答 例题1:下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 答案:C 分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。 例题2:下面()项是对构造函数和析构函数的正确定义。 A.void X::X(), void X::~X() B.X::X(参数),X::~X() C.X::X(参数),X::~X(参数) D.void X::X(参数),void X::~X(参数) 答案:B 分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。 例题3:()的功能是对象进行初始化。 A.析构函数B. 数据成员 C.构造函数 D.静态成员函数 答案:C 分析:当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作; 例题4:下列表达方式正确的是()。 A.class P{B.class P{ public: public: int x=15; int x; voidshow(){cout< DISC典型组合类型解释 一、D型(低I、S、C):结果定向者(Result-Oriented pattern) 1、行为描述 控制、果断,您相信自己有足够的能力来改变周围的环境和他人,好发号施令,大胆、好竞争、好冒险。在工作上,您有很强的成就动机,进取心强、好竞争,而且不顾一切努力实现自己的目标。此外,您还显得精力充沛、适应能力强。 人格关键词是:征服、行动迅速(Efficiency)、自我激励和独立。 2、团队合作 给人的感觉是比较强势、理性,一般不受情感因素的影响。由于您过于专注成就和目标达成,而会影响您与周围他人之间的人际合作。在极端情况下,您认为他人只不过是帮助您达成目标的一个手段。沟通时,往往说多于听。由于您有很强的竞争性一面,使您看到周围的挑战和对立面比比皆是,同时,您的同事会感到您带给他们的压力较大。 3、优势 自信的决策者,在掌握较少信息的情况下能够快速决策。在周围他人都认为压力过大的环境下能够很好的适应。在困境下,有不服输的冲劲,可以承担大任。 4、劣势 攻击性太强,容易与人结怨;说的太多;不喜欢表扬下属,激励和影响他人的方式往往不对头;有时显得过于自信和武断;在团队决策与自己决策相左的情况下,不能很好的执行团队决策。在压力下,会变得苛刻、吹毛求疵。 5、激励因素 您喜欢自己的工作能够为您提供机会,来显示自己具备控制、影响周围环境的能力;您认为自己的价值体现在:能够获得不断的成功 6、为了提高工作效率,您需要: 主动与他人分享信息和资源;多听听他人对实现目标的看法和建议;真诚的关心他人;学会谦虚,培养自己的耐性。 二、DI型(低S、C):灵感启发者(Inspirational pattern) 1、行为描述 您是高度自信的人,既表现出自我肯定、大胆和直接的一面,也表现出良好的人际交往魅力。您具有明确的生活和工作目标,并能坚持和投入地实现此目标。在平时的工作中,您希望借助自己的人际关系、竞争、权威实现自己控制周围环境和他人的目的,使周围他人不仅喜欢您,而且敬畏您。 人格关键词是:自我激励、独立、热情和自信。 2、团队合作 在团队中,您善于与人打交道,往往具备较高的沟通影响力和社交技能。影响他人的手段是:个人魅力、通过命令、表扬、奖励等。尽管您平时显得比较亲和,但也经常采取强势和命令的手段影响他人,特别是您处在压力的情况下。 在与团队成员沟通时,能够平衡自己的说和听。由于您好交际,不怕冒犯他人,且行动迅速、直入主题的特点,与优柔寡断、委婉表达的人相处比较困难。 3、优势 善于思考,高进取心,喜欢抓大方向;挑战自我、软硬兼施、成就、说服力,而且行动迅速,喜欢接受挑战和竞争;处理事务果断,而善于说服和激励他人接受自己的方案。 4、劣势 可能过于关注人的因素,而忽视数据、理论和事实;关注自我多于关注他人;可能不太注意主动与他人分享资源、共享信息;面对多重任务时,主可能次不够分明。压力过大时, 类与对象 知识要点 1.掌握类与对象的概念和定义方法,掌握类成员的访问属性。 2.掌握构造函数的概念、定义方法和使用方法。 3.掌握析构函数的概念、定义方法和使用方法。 4.掌握拷贝构造函数的概念、定义方法和使用方法。 5.掌握包含对象成员的类构造函数的定义方法。 6.掌握静态成员的概念、定义方法、作用和特点。 7.掌握友元的概念、定义方法、作用和特点。 8.掌握类模板的定义格式与使用方法。 典型例题分析与解答 例题1:下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 答案:C 分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。 例题2:下面()项是对构造函数和析构函数的正确定义。 A.void X::X(), void X::~X() B.X::X(参数), X::~X() C.X::X(参数), X::~X(参数) D.void X::X(参数), void X::~X(参数) 答案:B 分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。 例题3:()的功能是对象进行初始化。 A.析构函数 B. 数据成员 C.构造函数 D.静态成员函数 答案:C 分析:当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作; 例题4:下列表达方式正确的是()。 A.class P{ B. class P{ public: public: int x=15; int x; void show(){cout< 组合: 【程序设计】 --------------------------------------------------------- 题目:定义一个圆形类,属性有半径和相应的成员函数。 然后定义一个正方形类,属性有边长和相应的成员函数。 再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,要求该组合类能求出阴影部分面积和周长。通过主函数测试该类。组合图形见图:组合.JPG 输出结果见图:样张.JPG -------------------------------------------------------*/ #include public: void input(double b) { B=b; } double S() { return PI*B*B; } }; class NewStyle{ int A,B; public: void input(double a,double b){ A=a; B=b; } double S(){ return 3.14*(A*A)-B*B; }; double L(){ return 2*PI*A+4*B; }; /********** End **********/ int main(){ Circle A(4); //圆的半径为4 Box B(1); //正方形的边长为1 NewStyle C(A,B); cout<<"自定义图形的面积"< 断层典型组合类型 在地壳浅部构造层次里,发育着类型不同、样式各异的断裂构造,它们在空间组合成各种几何形态。产生这种情况的原因是多方面的,其中有些可能与岩石流变学和断裂形成时所处应力状态有关,有些则与断裂运动有关。 图2-4-11 按断层两盘相对运动划分的断层和组合性断层 Fig. 2-4-11 Classification of fault based on the relative movements of the two walls a-正断层 b-逆断层 c-平移断层d-逆-平移断层e-正-平移断层 1.各类断层基本组合形态 断层的组合方式可分为对称式和非对称式,主要取决于一对共轭断层是否以同等程度发育。两组断层以同等程度发育时构成对称式,一组断层优先发育时构成非对称式。正断层、逆断层和平移断层及其各自的构造样式也千差万别。然而归根结底,都是由于单个断层面的产状形态差异和断层组合方式的不同而互为区分的(表2-4-1,图2-4-12)。 正断层、逆断层和走滑断层的对称组合形态分别为地堑-地垒式、背冲式-对冲式和共轭走滑系。在理想情况下,表现为地堑-地垒,背冲-对冲和两组共轭断裂各自大体上以等间距交替出现,这显然是由于两组共轭断层以同等程度发育所引起的。但是,这样的理想情形并不常见。正、逆和走滑断层的非对称式组合形态,平面状断层面组合分别为阶梯式、半地堑式及书斜式(正)、单冲式(逆)和平行式、羽状及雁行式(走滑);具曲面状断层面时分别为叠瓦式(正和逆)和正或负花状构造(走滑)。 一般情况下,在正、逆断层的非对称式组合里每种构造样式中的所有断层面倾向与同名断盘(意指或均为上盘或均为下盘)运移方向,或者共具相同优势方向(例如书斜式或叠瓦式的正断面倾向与上盘滑向共具相同优势方向),或者各具相反优势方向(例如单冲式或叠瓦式的逆断面倾向与上盘滑向各具相反优势方向)。至于走滑断层的非对称式组合,其断层走向和滑移方向也具优势方向。这显然都是由于一对共轭断层中只有一组断层优先发育所造成的。 图 2-4-12 对称式和非对称式断层组合综合剖面图-以正断层为例(据Twiss和Moores, 1992)Fig. 2-4-12 Synthetic cross-section of symmetrical and asymmetrical fault associations for normal faults (from Twiss and Moores, 1992) 用组合技巧写一个矩形类 尽量用多文件结构去写,多文件去写的时候注意一般要用到条件编译,防止一个类多次编译,造成类重定义错误//point.h class Point { public: Point(){x=0;y=0;} Point(int initX,int initY); int GetX() const; int GetY() const; private: int x,y; }; //point.cpp #include "point.h" Point::Point(int initX,int initY) { x=initX; y=initY; } int Point::GetX() const { return x; } int Point::GetY() const { return y; } //rect.h #include "point.h" class Rect { public: Rect(); Rect(int l,int t,int b,int r); Rect(Point topleft,Point bottomright); Rect(Rect &r); ~Rect(); int GetWidth() const; int GetLength() const; int GetArea(); Point GetTopLeft() const; Point GetBottomRight(); private: Point topLeft,bottomRight;//左上角,左下角 }; //rect.cpp #include "rect.h" //#include "point.h" //'class' type redefinition Rect::Rect() { } c类和对象练习题公司标准化编码 [QQX96QT-XQQB89Q8-NQQJ6Q8-MQM9N] 第8章类与对象 8.1知识要点 1.掌握类与对象的概念和定义方法,掌握类成员的访问属性。 2.掌握构造函数的概念、定义方法和使用方法。 3.掌握析构函数的概念、定义方法和使用方法。 4.掌握拷贝构造函数的概念、定义方法和使用方法。 5.掌握包含对象成员的类构造函数的定义方法。 6.掌握静态成员的概念、定义方法、作用和特点。 7.掌握友元的概念、定义方法、作用和特点。 8.掌握类模板的定义格式与使用方法。 8.2典型例题分析与解答 例题1:下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 答案:C 分析:对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。 ? 例题2:下面()项是对构造函数和析构函数的正确定义。 A.void X::X(), void X::~X() B.X::X(参数),X::~X() C.X::X(参数),X::~X(参数) D.void X::X(参数),void X::~X(参数) 答案:B 分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。 ? 例题3:()的功能是对象进行初始化。 A.析构函数B. 数据成员 C.构造函数 D.静态成员函数 答案:C 分析:当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作; ? ? 例题4:下列表达方式正确的是()。 A.class P{B.class P{ public: public: int x=15; int x; voidshow(){cout<C语言的类和对象
类和对象练习题
C++类和对象实验报告
17种词语组合大全
组合类材料作文写作指导
从C到ObjectiveC类和对象续修订稿
c类和对象练习题
6-DISC行为风格典型组合类型解释
类与对象答案
C++类与组合
断层典型组合类型
c++组合类rectangle
c类和对象练习题修订稿
C 实验二 类与对象(附答案).