include<iostream.h>class A{private: int x,y;public: void f1(int i=0,int j=0){x=i;y=j

题目

include<iostream.h>

class A

{

private:

int x,y;

public:

void f1(int i=0,int j=0){x=i;y=j;}

void print(){cout<<x<<" "<<y<<endl;}

void f1(int i=0){x=i,y=0;}

};

void main()

{

A a;

a.f1(5);

a.print();

}

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

本题中,鼠标在窗口中单击一下,就在单击的位置生成一个小矩形,如果在小矩形上双击鼠标左键,则删除小矩形。 import java.awt.*; import java.awt.event.*; import javax swing.*; class MousePanel extends JPanel extends MouseMo- tionListener {public MousePanel {addMouseListener(new MouseAdapter {public void mousePressed(MouseEvent evt) {int X=evt.getX; int Y=evt.getY; current=find(x,y); if(current<0) add(x,y); } public void mouseClicked(MouseEvent evt) {int X=evt.getX; int Y=evt.getY; if(evt.getClickCount>=2) {remove(current); } } }); addMouseMotionListener(this); } public void paintComponent(Graphics g) {super.paintComponent; for(int i=0;i<nsquares;i++) draw(g,i); } public int find(int X,int y) (for(int i=0;i<nsquares;i++) if(squares[i].x-SQUARELENGTH/2<= x X<=squares[i].x+SQuARELENGTH/2 squares[i].Y-SQUARELENGTH/2< =Y y<=squares[i].Y+SQUARELENGTH /2) return i ; return-1 ; } public void draw(Graphics g,int i) {g.drawRect(squares[i].X-SQUARE- LENGTH/2。 squares[i].Y-SQUARELENGTH/2, SQUARELENGTH, SQUARELENGTH); } public void add(int X,int Y) {if(nsquares<MAXNSQUARES) {squares[nsquares]=new Point(x,y); current=nsquares ; nsquares++; repaint; } } public void remove(int n) {if(n<0 ‖ n>=nsquares)return; Nsquares- -; squares[n]=squares[nsquares]; if(current= =n)current= -l; repaint; } public void mouseMoved(MouseEvent evt) {} public void mouseDragged(MouseEvent evt) {} private static final int SQUARELENGTH=10: private static final int MAXNSQUARES=100; private Point[]squares=new Point[MAX- NSQUARES]; private int nsquares=0; private int current=-l; } class MouseFrame. extends JFramc {public MouseFrame {setTitle("java3"); setSize(300,200); addWindowListener(new WindowAdapter {public void windowClosing(WindowEvent e) {System.exit(0); } }); Container contentPane=getContentPane; contentPane.add(MousePanel); } } public class java3 {public static void main(String[]args) {JFrame. frame=new MouseFrame; frame.show; } }


正确答案:
第l处:extends JPanel implements MouseMotionListener.
第2处:super.paintComponent(g)
第3处:contentPane.add(new MousePanel)
【解析】第1处是继承Jpanel实现鼠标移动监听器接口;第2处以g为参数重新绘制组件;第3处在contentPane内容面板中添加一个MousePanel鼠标面板。

第2题:

有如下程序:include using namespace std;class sample{private:int x,y;public: sam

有如下程序: #include <iostream> using namespace std; class sample { private: int x,y; public: sample(int i,int j) { x=i; y=j; } void disp () { cout<<"disp1"<<end1; } void disp() const { cout<<"disp2"<<end1; };int main () { const sample a(1,2); a.disp(); return 0; } 该程序运行后的输出结果是

A.disp1

B.disp2

C.disp1 disp2

D.程序编译时出错


正确答案:B
解析:本题考核常对象、常数据和常函数。C++中,在定义常对象时必须进行初始化,而且不能被更新。如果将一个对象说明为常对象,则通过该对象只能调用它的常成员函数。题中,对象a被定义成类sample的常对象,所以通过对象a只能调用其常成员函数disp()。所以程序最后输出disp2。

第3题:

下列程序的输出结果是非曲直【 】。includeclass base{ int x, y;public: base(int i,

下列程序的输出结果是非曲直【 】。

include<iostream, h>

class base

{

int x, y;

public:

base(int i, int j){x=i; y=j;}

virtual int add(){return x+ y;}

};

class three: public base

{

int z;

public:

three(int i, int j, int k) :base(i, j){z=k; }

int add() { return (base:: add()+z); }

};

void main()

{

three * q=new three(lO,20,30);

cout<<q->add()<<end1;

}


正确答案:60
60 解析:本题考察继承中子类对父类的继承方式,注意子类的add成员函数,它直接使用了父类的成员函数进行运算。

第4题:

下列程序的输出结果是includeclass Myclass{public : Myclass( int i=0,int j=0){x

下列程序的输出结果是 #include<iostream.h> class Myclass{ public : Myclass( int i=0,int j=0) {x=i; y=j; } void show( ){cout<<"x="<<x<<" "<"y="<<y<<endl;} void show( )const{cout<<"x="<

A.x=4,y=3;x=7,y=8

B.x=3,y=4;x=7,y=8

C.x=7,y=8;x=4,y=3

D.x=8,y=7;x=7,y=8


正确答案:A
解析:在Myclass类中定义了两个同名函数show,其中一个是常成员函数。在main函数中定义了两个对象myl,my2,其中对象my2是常对象。这两个对象调用成员函数show时,通过对象myl调用的是没有用const修饰的一般成员函数,而通过对象my2调用的是const修饰的常成员函数。

第5题:

下列程序的输出结果是includeclass Myclass{public:Myclass(int i=0,int j=0){x=i;

下列程序的输出结果是 #include<iostream.h> class Myclass{ public:Myclass(int i=0,int j=0) { x=i; y=j; } void show( ) {cout < <"x=" < < x < <" " <"y=" < < y < < endl;} void show( ) const{cout < <"x=" < <" " < <"y=" < < y < < endl;} privated: int x; int y; }; void main( ) { Myclass my1(3,4) ; const my2(7,8) ; my1.show( ) ;my2.show( ) ;}

A.x=4,y=3;x=7,y=8

B.x=3,y=4;x=7,y=8

C.x=7,y=8;x=4,y=3

D.x=8,y=7;x=7,y=8


正确答案:A
解析:在Myclass类中定义了两个同名函数show,其中一个是常成员函数。在main函数中定义了两个对象my1、my2,其中对象my2是常对象。这两个对象调用成员函数show时,通过对象my1调用的是没有用const修饰的一般成员函数,而通过对象my2调用的是const修饰的常成员函数。

第6题:

在下面的类定义中,this指针的用途是______。 include class Sample { int x,y; publi

在下面的类定义中,this指针的用途是______。

include<iostream.h>

class Sample

{

int x,y;

public:

Sample(int i,int j){x=i;y=j;}

void assign(Sample sa);

};

void Sample::assign(Sample p)

{

if(this!=&p)

{

x=p.x;

y=p.y;

}

}


正确答案:防止类对象自己给自己赋值
防止类对象自己给自己赋值 解析:对象给自己赋值是一种自毁行为,这种行为如果不加以判断,可能造成无意识的破坏。

第7题:

下列程序的运行结果是 includeclass Location{private:int X.Y;public:void init(i

下列程序的运行结果是 #include<iostream.h> class Location{ private: int X.Y; public: void init(int=0,int=0); void valueX(int val){X=val;} int valueX( ){ return X;} void valueY

A.5 0 6 4

B.0 0 6 4

C.5 0 6 2

D.0 0 6 2


正确答案:A
解析:本题中有成员函数和它的重载函数,要注意它们的不同,在本题中先调用了init函数,初始化了X,Y,都为0,valueX(5);又将X变为5,所以输出5和0,然后初始化init(6,2),接着又valueY(4);将X,Y设为6和4,所以输出6和4。

第8题:

有如下程序:includeusing namespace std;Class TestClass{private:int x,y;public:Te

有如下程序: #include<iostream> using namespace std; Class TestClass { private: int x,y; public: TestClass(int i,int j) { x=i; y=j; } void print() { cout<<“print1”<<endl; } void print()const { cout<<”prin

A.printl

B.print2

C.printl print2

D.程序编译时出错。


正确答案:B
解析: 本题定义TestClass型的常对象a,然后调用对象a中的成员函数print()。因为在C++中,如果一个对象被声明为常对象,则不能调用镇对象中的非const型的成员函数。所以,这里调用的是对象中的const型成员函数“void print()const”,输出为print2。

第9题:

有以下程序:include using namespace std;class myclass{private: int a,b;public: v

有以下程序: #include <iostream> using namespace std; class myclass { private: int a, b; public: void init( int i, int j ) { a = i; b = j; } friend int sum( myclass x ); }; int sum( myclass x ) { return x.a + x.b; } int main () { myclass y; y.init( 15, 20 ); cout<<sum( y )<<end1; return 0; } 执行后的输出结果是( )。

A.15

B.20

C.5

D.35


正确答案:A
解析:本题主要考察C++中友元函数的使用。程序中,首先定义一个myclass类,其中包含private类型数据成员inta和intb;并含有成员函数voidinit(),其功能为初始化数据成员a和b,使其值分别为a=i和b=i;同时声明了一个友元函数intsum(),其函数定义在类声明体外,功能为返回myclass类的对象中的两个数据成员之和。程序主函数中,首先创建一个myclass类的对象y,并调用y的初始化函数对其变量进行赋值操作,执行该语句后,应该有:y.a=15和y.b=20。程序最后调用函数sum()计算对象y中数据成员的和,由于sum()为类myclass的友元函数,因此其可以自由访问对象y中的数据成员,显然其返回值为:15+20=35。

第10题:

有以下程序:include using namespace std;class A{public: A(int i,int j) { a=i; b=

有以下程序: #include <iostream> using namespace std; class A { public: A(int i,int j) { a=i; b=j; } void move(int x,int y) { a+=x; b+=y; } void show() { cout<<a<<","<<b<<end1; } private: int a,b; }; class B: private A { public: B(int i,int j): A(i,j) {} void fun() { move(3,5); } void fl () { A::show(); } }; int main() { B d(3,4); d.fun(); d.f1(); return 0; } 程序执行后的输出结果是

A.3,4

B.6,8

C.6,9

D.4,3


正确答案:C
解析:本题考核派生类的应用。本题中,类B是类A的私有派生类,在类B的成员函数fun中调用基类A的成员函数move,并传入实参3和5。在类B的成员函数fl中调用基类A的成员函数show,来显示基类数据成员a和b的值。主函数main中,定义了派生类B的对象d,并赋初值3和4。然后调用对象d的成员函数fun和fl,通过上述对函数fun和n的功能的描述可知,程序最后输出6和9。

更多相关问题