Другие языки программирования и технологии

Подскажите, пожалуйста. Язык C++

Как в языке C++ взять данные для одного класса из другого класса? В программе шарики летают в коробке - нужно передать шарику, когда он ударяется о край коробки
Maxes Max
Maxes Max
13 602
Если данные были объявлены в разделе public - напрямую. Если нет - через объявление дружественного класса или метода. А еще правильнее данные брать просто через открытый метод класса, к которому может обращаться кто угодно, а вот возможности изменения этих данных у него не будет.
Магомед Эмирханов
Магомед Эмирханов
56 928
Лучший ответ
наследование сделай
using System;

namespace ConsoleApplication1
{
class Program
{
class Pramoyg
{
public double cx;
public double cy;
public double tx;
public double ty;

public Pramoyg()
{ cx = 0; cy = 0; tx = 0; ty = 0; }

public Pramoyg(double x1, double x2, double x3, double x4)
{ cx = x1; cy = x2; tx = x3; ty = x4; }

public virtual double dlina1()
{
double a = Math.Sqrt((tx - cx) * (tx - cx) + (ty - ty) * (ty - ty));
return a;
}

public virtual double dlina2()
{
double b = Math.Sqrt((cy-ty) * (cy-ty) + (cx-cx) * (cx-cx));
return b;
}

// protected virtual double dlina(double x1, double y1, double x2, double y2)
// {
// cx = x1; cy = y1; tx = x2; ty = y2;
// double d = Math.Sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
// return d;
// }

// public double dlina1()
// {
// double x1 = cx; double y1 = ty; double x2 = cx; double y2 = ty;
// return dlina(x1, y1, x2, y2);

// }
// public double dlina2()
// {
// double x1 = tx; double y1 = ty; double x2 = cx; double y2 = ty;
// return dlina(x1, y1, x2, y2);
// }

public double ploshad()
{
double c = dlina1() * dlina2();
return (c);
}
}
class Paralp : Pramoyg
{
public double cz; public double tz;
public double px, py, pz;
public Paralp(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9)
: base(x1, x2, x4, x5)
{ cz = x3; tz = x6; px = x7; py = x8; pz = x9; }
public override double dlina1()
{
double h = Math.Sqrt(base.dlina1() * base.dlina1() + (tz - cz) * (tz - cz));
return h;
}
public override double dlina2()
{ double j=Math.Sqrt(base.dlina2()*base.dlina2()+(tz-cz)*(tz-cz));
return j;
}
public double visota()
{
double h = Math.Sqrt((cx - tx) * (cx - tx) + cy * cy + cz * cz);
return h;
}
public double V()
{double vv=dlina1()*dlina2()*visota();
return vv;
}
}

Пример .прямоугольник в пространстве наследует свойства прямоугольника на плоскости
ZB
Z()L()T()Y B()Y
400
Виталий Илона Покороче примера не нашлось?