网站大量收购闲置独家精品文档,联系QQ:2885784924

类和对象一分析和总结.docx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是(D)

增加了一些新的运算符

允许函数重载,并允许设置缺省参数

规定函数说明符必须用原型

引进了类和对象的概念

对于结构中定义的成员,其默认的访问权限为( C)。A.public B.protected C.private D.static

为了使类中的某个成员不能被类的对象通过成员操作符访问,则不

能把该成员的访问权限定义为(A

)。

A.public B.protected

C.private

D.static

4.下列有关类的说法不正确的是(

C

)。

对象是类的一个实例B.任何一个对象只能属于一个具体的类C.一个类只能有一个对象D.类与对象的关系和数据类型与变量的关系相似

下列表达方式正确的是(

A.classP{

D

)。

B.

classP{

public:

intx=15;

public:

intx;

void

show(){coutx;}

voidshow(){coutx;}

};

C.class

P{

}

D. classP{

int

f;

public:

}; inta;

f=25; voidSeta(intx){a=x;}分析:在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函数才能存取类中的私有数据。

二.改错题1.#includemath.hclassPoint{public:

voidSet(doubleix,doubleiy) //设置坐标

{x=ix; y=iy;}

doublexOffset() //取x轴坐标分量

{returnx;}

doubleyOffset() //取y轴坐标分量

{returny;}

doubleangle() //取点的极坐标θ

{return(180/3.14159)*atan2(y,x);}

doubleradius() //取点的极坐标半径

{returnsqrt(x*x+y*y);}protected:

double

x;

//x轴分量

double

y;

//y轴分量

} //error:缺少分号

voidmain()

{Pointp;doublex,y;

coutEnterxandy:\n;cinxy;

p.Set(x,y);

p.x+=5;

//error:

私有成员不能在类外被访问

p.y+=6;

//error:

同上

coutangle=p.angle()

,radius=p.radius()

,xoffset=p.xOffset()

,yoffset=p.yOffset()endl;

}

分析找出以下程序中的错误,说明错误原因,给出修改方案使之能正确运行。

#includeiostream.h

classone

{ inta1,a2;public:

one(intx1=0,x2=0);

};

voidmain()

{onedata(2,3);coutdata.a1endl;coutdata.a2endl;}

分析:出错原因:构造函数参数表语法错;构造函数没有函数体;类的对象不能直接访问类的私有成员变量。

改正后的程序如下:#includeiostream.hclassone

{inta1,a2;public:

one(intx1=0,intx2=0){a1=x1;a2=x2;}intgeta1() {returna1;}

intgeta2() {returna2;}

};

voidmain()

{onedata(2,3);coutdata.geta1()endl;coutdata.geta2()endl;

}

分析以下程序的错误原因,给出修改方案使之能正确运行。

#includeiostream.hclassAmplifier{

floatinvol,outvol;public:

Amplifier(floatvin,floatvout)

{invol=vin;outvol=vout;}floatgain();

};

Amplifier::floatgain() {returnoutvol/invol;}voidmain()

{ Amplifieramp(5.0,10.0);

cout\n\nThegainis=gain()endl;

}

分析:成员函数在类体外定义格式是:函数返回类型类名::成员函数名(参数表);成员函数调用格

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地湖北
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档