Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Progi / Lesson 6 / lec6.doc
Скачиваний:
30
Добавлен:
28.03.2015
Размер:
342.53 Кб
Скачать

4. В базовом и производном классах есть конструкторы без параметров.

C++

class Record

{

private:

int min,sec;

public:

Record();

.........

};

Record::Record() // конструктор базового класса

{

min=5;

sec=4;

}

class Sprint : public Record

{

private:

int dec;

public:

Sprint();

........

};

Sprint::Sprint() // конструктор производного класса

{

// sec не определяется !

min=3;

dec=2;

}

int main(int argc, char* argv[])

{

Record x; // min=5 sec=4

Sprintz;// min=3 dec=2 sec=4 – вызов сначала базового конструктора,

// затем производного

}

Java

class Record

{

protected int min,sec;

public Record() // конструктор базового класса

{

min=5;

sec=4;

}

}

class Sprint extends Record

{

private int dec;

public Sprint() // конструктор производного класса

{

min=3;

dec=2;

}

}

public class WorkSport

{

public static void main (String args[] )

{

Record a=new Record(); // min=5,sec=4

Sprint b=new Sprint(); // min=3 dec=2 sec=4 - вызов сначала базового конструктора,

// потом производного

}

}

C#

class Record

{

private int min,sec;

public Record() // конструктор базового класса

{

min=5;

sec=4;

}

.........

};

class Sprint : public Record

{

private int dec;

public Sprint() // конструктор производного класса

{

min=3;

dec=2;

}

.......

};

static void Main(string[] args)

{

Record x = new Record(); // min=5 sec=4

Sprintz=newSprint();// min=3 dec=2 sec=4 – вызов базового конструктора,

// затем производного

}

5. В базовом есть конструктор без параметров, в производном с параметрами.

C++

class Record

{

private:

int min,sec;

public:

Record();

.........

};

Record::Record() // конструктор без параметров

{

min=1;

sec=2;

}

class Sprint : public Record

{

private:

int dec;

public:

Sprint(int d);

........

};

Sprint::Sprint(intd)// конструктор с параметром

{

// задан только dec

dec=d;

}

int main(int argc, char* argv[])

{

Recordx; //min=1sec=2

Sprintz(5);// min=1 sec=2 dec=5 // сначала вызывается конструктор базового класса,

// потом производного

}

Java

class Record

{

protected int min,sec;

public Record()

{

min=1;

sec=2;

}

}

class Sprint extends Record

{

private int dec;

public Sprint(int d)

{

dec=d;

}

}

public class WorkSport

{

public static void main (String args[] )

{

Record a=new Record(); // min=1,sec=2

Sprint b=new Sprint(5); // min=1,sec=2,dec=5

}

}

C#

class Record

{

private int min,sec;

public Record() // конструктор без параметров

{

min=1;

sec=2;

}

.........

};

class Sprint : public Record

{

private int dec;

public Sprint(intd)// конструктор с параметром

{

dec=d;

}

........

};

static void Main(string[] args)

{

Record x = new Record(); // min=1 sec=2

Sprintz=newSprint(5);// min=1 sec=2 dec=5 // сначала вызывается конструктор

// базового класса, потом производного

Соседние файлы в папке Lesson 6