| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1076 人关注过本帖
标题:sos!我是菜鸟,请救命!
取消只看楼主 加入收藏
lljly
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-1-25
收藏
 问题点数:0 回复次数:0 
sos!我是菜鸟,请救命!

1、有以下类的说明,请指出错误的地方。

class Csample

{

int a=2;

Csample();

public:

Csample(int val);

~Csample();

}

2、下面列出了由三个文件main.cpp、MyClass.hMyClass.cpp组成的一个程序。文件main.cpp中实现了主函数;文件MyClass.h中定义了类MyClass;文件MyClass.cpp中实现了类MyClass的成员函数。题中没有给出三个文件的完整实现。仔细阅读所给的程序,根据题意补充文件MyClass.h和文件MyClass.cpp的内容。要求:

a.将成员变量定义为私有的;

b.不要增加题中没有用到的类成员。

/***********************************************************************/

//文件main.cpp

#include <iostream.h>

#include "MyClass.h"

void main( )

{

MyClass obj(3.3);

cout << obj.GetMember() << endl;

obj.SetMember(5.6);

cout << obj.GetMember() << endl;

}

/********************************************************/

/*******************************************************/

//文件 MyClass.cpp

#include "MyClass.h"

float MyClass::GetMember()

{

return member;

}

void MyClass::SetMember(float m)

{

MyClass::member=m;

}

//在这里写出构造函数的实现函数

/***********************************************************/

//文件 MyClass.h

//类MyClass的定义

class MyClass {

//在下面写出类的定义体

};

/********************************************************/

3、下面的程序可实现的功能是:输入5个职工的编号和姓名,然后显示出来。

#include <iostream.h>

#include <iomanip.h>

#include <string.h>

class Person

{

private:

public:

void setdata(int bh, char xm[ ])

{

no= ;

strcpy(name, xm);

}

void dispdata(void)

{ cout<<setw(5)<<no<<setw(10)<<name<<endl;

}

};

void main( )

{

Person ;

Stud[0].setdata(1,“张华”);

Stud[1].setdata(5,“刘兵”);

Stud[0].setdata(3,“李强”);

Stud[0].setdata(4,“王丽”);

Stud[0].setdata(2,“郑重”);

cout << “ 编号 姓名”<< endl;

cout << “-------- --------”<< endl;

?????????????????

}

阅读下列程序,回答后面提出的问题

#include <iostream.h>

class vehicle

{

int wheels;

float weight;

public:

void message(void) { cout << “Vehicle message\n”; }

};

class car : public vehicle

{

int passenger_load;

public:

void message(void) { cout << “Car message\n”; }

};

class truck : public vehicle

{

int passenger_load;

float payload;

public:

int passengers(void) { return passenger_load; }

};

class boat : public vehicle

{

int passenger_load;

public:

int passengers(void) { return passenger_load; }

void message(void) { cout << “Boat message\n”; }

};

int main()

{

vehicle *unicycle;

unicycle = new vehicle;

unicycle ->message();

delete unicycle;

unicycle = new car;

unicycle ->message();

delete unicycle ;

unicycle = new truck;

unicycle ->message();

delete unicycle ;

unicycle = new boat;

unicycle ->message();

delete unicycle ;

return 0;

}

1、写出程序的运行结果。

2、如果将vehicle的成员函数message的定义改为:

virtual void message(void) { cout << “Vehicle message \n”; }

写出修改后的程序的运行结果。

3、在上一题修改的基础上,修改类truck的定义,使它具有和car、boat等具有相似的特征。也就是说,下面的程序片段:

unicycle = new truck;

unicycle ->message();

delete unicycle ;

将会产生以下输出:

Truck message

写出为truck增加的成员函数的定义并将其实现为一个内联函数。

分析程序运行结果

1#include <iostream.h>

class Sample

{

int x, y;

public:

Sample( ) { x=y=1;};

Sample( int a, int b) { x=a; y=b; };

~ Sample( )

{ if(x==y)

cout<<”x=y”<<endl;

else

cout<<”x!=y”<<endl;

}

void disp( )

{ cout<<”x=”<<x<<”,y=”<<y<<endl;

}

};

void main( )

{

Sample s1(2,3), s2;

s2.disp( );

s1.disp( );

cout<<endl;

}

运行结果为:

2#include <iostream.h>

class base

{

int x;

public:

void Setx(int i) { x=i; };

int Getx( ) { return x; };

};

class Derived: public base

{

int y;

public:

void Sety(int i) { y=i; };

int Gety( ) { return y; };

};

void main( )

{ base *p;

base b_obj;

Derived d_obj;

p=&b_obj;

p->Setx(11);

cout<<”base object x: “<<p->Getx()<<endl;

p=&d_obj;

p->Setx(55);

cout<<”Derived object x: “<<p->Getx()<<endl;

d_obj.sety(99);

cout<<”Derived object y: “<<p->Gety()<<endl;

}

运行结果为:

搜索更多相关主题的帖子: sos 救命 
2005-01-25 20:09
快速回复:sos!我是菜鸟,请救命!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025453 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved