急急急!!!!大神来帮忙看看错在哪啊?? 感激不尽啊。。。

第一:#include<iostream.h>classApplication{public:voidh();staticvoidf();staticvoidg();pr... 第一:
#include<iostream.h>
class Application
{ public:
void h();
staticvoid f();
static void g();
private:
int X,Y;
static int global;
};
int Application::global=0;
void Application::h()
{
X=10;
Y=20;
Global=11;
}
void Application::f(Application a)
{
X=4;
a.Y=5;
global=5;
}
void Application::g()
{
h();
cout<<global<<endl;
}
int main()
{
Application::f();
Application::g();
return 0;
}
第二:
class A
{
public:
void Display()
{cout<<x<<endl;}
private:
int x;
}
class B
{ public:
void Set(int i);
void Display();
private:
A a;
};
void B::Set(int i)
{
a.x=i;
}
void B::Display()
{
a.Display();
}
第三:
#include<iostream.h>
void display(const double& r);
int main()
{ double d(9.5);
display(d);
return 0;
}
void display(const double& r)
{
r=100;
cout<<r<<endl;
}
第四:
#include<iostream.h>
class R
{ public:
R(int r1, intr2){R1=r1;R2=r2;}
void print();
void print() const;
private:
int R1,R2;
};
void R::print()
{ cout<<R1<<":"<<R2<<endl;
}
void R::print(int x,int y) const
{
R1=x;
R2=y;
cout<<R1<<";"<<R2<<endl;
}
void main()
{ R a(5,4);
a.print( 10,20);
const R b(20,50);
b.print();
}
第五:
class Point
{public:
void InitP(float xx=0, floatyy=0)
{X=xx;Y=yy;}
void Move(float xOff, floatyOff)
{X+=xOff;Y+=yOff;}
float GetX() {return X;}
float GetY() {return Y;}
private:
float X,Y;
};
class Rectangle: private Point
{public:
void InitR(float x, float y,float w, float h)
{
InitP(x,y);W=w;H=h;
}
float GetX() {returnPoint::GetX();}
float GetY() {returnPoint::GetY();}
float GetH() {return H;}
float GetW() {return W;}
private:
float W,H;
};
#include<iostream.h>
#include<math.h>int main()
int main()
{
Rectangle rect;
rect.InitP(2,3,20,10);
rect.Move(3,2);
cout<<rect.GetX()<<','
<<rect.GetY()<<','
<<rect.GetH()<<','
<<rect.GetW()<<endl;
return 0;
}
第六:
class A{
public:
void setA(int);
void showA();
private:
int a;
};
class B{
public:
void setB(int);
void showB();
private:
int b;
};
class C : public A, private B{
public:
void setC(int, int, int);
void showC();
private:
int c;
};
void A::setA(int x)
{ a=x; }

void B::setB(int x)
{ b=x; }

void C::setC(int x, int y, int z)
{ a=x;
b=y;
SetA(x);
SetB(y);
c=z;
}
int main()
{
C obj;
obj.setA(5);
obj.showA();
obj.setC(6,7,9);
obj.showC();
obj.setB(6);
obj.showB();
return 0;
}
展开
 我来答
wygwl
2012-12-24 · TA获得超过115个赞
知道答主
回答量:48
采纳率:0%
帮助的人:21.5万
展开全部
第一, 静态函数不能访问非静态的成员变量x和函数h(),
第二, class A中, x是私有的, class B 是无权访问的
第三, const 修饰后变量是不能被更改和重新赋值的
第四, class R 中重载的函数print定义有问题,参数不统一, 并且, const 限制的函数, 不能修改类变量, 还有, const 修饰的类, 也只能使用类中 使用const 修饰的函数
第五: 由于class Rectangle: 是从 class Point 私有派生的,因此class Point的函数成为class Rectangle的私有涵数, 对于外部使用者来说, 是不能访问其私有函数的
第六: 首先void C::setC(int x, int y, int z)中存在着函数名大小写错误(setA->SetA等), 其次,变量a,b都是父类的私有变量, 子类无权访问, 再次, obj.setB(6); obj.showB(); 调用的函数因为是私有派生的, 也是不允许访问的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式