Oop
Est' Funkcia Draw(C obj* P)
i est' klassi C Circle i C Rect
Kak delat' tak chtob P Draw(x,y) narisoval ili napisal "Circle" ili "Rectangle" s ispolzovaniem OOP
Nadeyus' vi ponyali menya
mojete predlojit' primeri tipo etogo. Budu blagodaren :)
Mne nujno vot takoy primer, OOP
Est' Funkcia Draw(C obj* P)
i est' klassi C Circle i C Rect
Kak delat' tak chtob P Draw(x,y) narisoval ili napisal "Circle" ili "Rectangle" s ispolzovaniem OOP
Nadeyus' vi ponyali menya
mojete predlojit' primeri tipo etogo. Budu blagodaren :)
Это что, лаба?
А они должны быть потомками абстрактного класса?
Это что, лаба?
А они должны быть потомками абстрактного класса?
Izvini ne ponyal tebya , chto takoe laba ??
Izvini ne ponyal tebya , chto takoe laba ??
Лабораторная работа.(В институте, например)
А если они потомки абстрактного класса, это делается примерно так:
class TShape//Абстрактный класс-родитель
{
//Какая-нибудь хрень, общая для всех фигур, например координаты "центра"
..
public:
void draw()=0;//Абстрактная функция
}
class TCircle//Круг
{
//Что-то, что есть только у круга, радиус, например
..
public:
//
void draw();//перегрузка функции(нужно будет написать реализацию)
}
class TRect//Прямоугольник
{
//Что-то, что есть только у прямоугольника, длины сторон, например
..
public:
//
void draw();//перегрузка функции(нужно будет написать реализацию)
}
Esli mojesh to napishi celiy kod, chtobi kod rabotal, kak ti ponyal, i esli nado budet izmenit' chto to (esli ti ne tak cht-to ponyal) ya izmenyu OK ? ;)
SPASIBO
А тебе именно на VC? А то у меня было где-то пара примеров на Boralnd C++ 3.0. А еще это хорошо описано у Страуструпа,например.
Da na VC, esli est' drugoy nichego pishi, no poprobuy na Visual C++.
#include <iostream.h>
class Shape
{
public: void Draw() {cout<<"Drawing...";};
};
class Rectangle:public Shape
{
public: void Draw() {cout<<"RECTANGLE\n";}
};
class Circle: public Shape
{
public: void Draw() {cout<<"CIRCLE\n";}
};
int main()
{
Rectangle r;
Circle c;
c.Draw();
r.Draw();
return 0;
}
esli net, chto nado izmenit'?????
Kto mojet skazat'eto otvet na moy vopros ili net ?
Где-то на 20-30%. :)
Если я правильно понял, то нужна ф-ия
void Draw(Shape& sh)
{
sh.Draw();
}
Кроме этого Draw в классе Shape должен быть virtual, и в переопределенных ф-иях наверно сперва нужно вызвать Draw базового класса, типа
class Circle: public Shape
{
public:
void Draw() { Shape:: Draw(); cout<<"CIRCLE\n";}
};
и тогда
int main()
{
Rectangle r;
Circle c;
Draw(r);
Draw(c);
return 0;
}
Spasibo, ti znal luchshe menya chto mne nado.
Spasibo tebe ochen'
Eto OOP net ?
rostyslav
Esli mojesh pomogi mne zdes'
http://forum.codenet.ru/showthread.php?s=&threadid=20409
Самое простое соединение между двумя машинами это через именованные каналы.
Готовые программы в первую очередь нужно искать на codeproject.com/internet
напр.http://www.codeproject.com/internet/winsockintro01.asp
http://www.codeproject.com/internet/winsockintro02.asp
http://www.codeproject.com/internet/server_client_sockets.asp
Eto OOP net ?
Ну во всяком случае похож на OOП. Я только недавно начал всерьез учить OOP (следуя совету Greena).
Книга Клюшин: Полный курс С++, довольно хорошая, для таких начинающих ООП программистов как ты и я :D
Книга Клюшин: Полный курс С++, довольно хорошая, для начинающих ООП программистов.
Может подскажите где взять ету книгу в електронном виде. А то у меня есть бумажная, я ею пользуюсь, а друзья тоже хотят (покупать конечно не хочется) вот и трудности - носимся с ней туда-обратно.