Код: Выделить всё
class DemoPoint
{
protected int x;
protected int y;
public void Show ()
{
Console.WriteLine ("({0}, {1})", x, y);
}
}
class DemoLine: public DemoPoint
{
public int xEnd;
public int yEnd;
new public void Show ()
{
Console.WriteLine ("({0}, {1}) - ({2}, {3})", x, y, xEnd, yEnd);
}
public DemoLine (int x1, int y1, int x2, int y2) / / конструктор похідного класу
{
x = x1; y = y1;
xEnd = x2; yEnd = y2;
}
}
class Program
{
static void Main ()
{
DemoPoint point = new DemoPoint (); // викликається конструктор за замовчуванням
point.Show ();
DemoLine line = new DemoLine (2, 2, 10, 10); // викликається власний конструктор
line.Show ();
}}
Вот что получается
Код: Выделить всё
#include "stdafx.h"
#include <iostream>
using namespace std;
class DemoPoint // базовий клас
{
protected: int x;
int y;
public: void Show()
{
cout<<"({"<<x<<"}, {"<<y<<"})"<<endl;
}
};
class DemoLine :p ublic DemoPoint // похідний клас
{
public: int xEnd;
int yEnd;
new public: void Show()
{
cout<<"({"<<x<<"}, {"<<y<<"}) - ({"<<xEnd<<"}, {"<<yEnd<<"})"<<endl;
}
public DemoLine (int x1, int y1, int x2, int y2) / / конструктор похідного класу
{
x = x1; y = y1;
xEnd = x2; yEnd = y2;
}
}
};
int _tmain(int argc, _TCHAR* argv[])
{
DemoPoint *point = new DemoPoint (); // викликається конструктор за замовчуванням ;
point.Show();
DemoLine *line = new DemoLine (2, 2, 10, 10); // викликається власний конструктор
line.Show ();
int temp;
cin>>temp;
return 0;
}