![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.08.2011
Сообщений: 21
|
![]()
Создать класс кнопка, имеющий размер. Определить конструкторы и метод доступа.
Создать класс окно, содержащий класс кнопка. Дополнительно есть координаты окна. Определить конструкторы и деструктор. Определить public- производный класс окно с кнопкой и имеющее меню (указатель на строку). Определить конструкторы, деструкторы и функцию печати Помогите разобраться не пойму как сделать здесь одиночное наследование |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 13.11.2009
Сообщений: 121
|
![]()
class Button{ ... }
class Window { Button button; ... } class AnotherWindow extends Window{ String menu; ...} Как-то так. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 27.08.2011
Сообщений: 21
|
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 27.08.2011
Сообщений: 21
|
![]() |
![]() |
![]() |
![]() |
#6 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]() Код:
Ищете информацию по C++?
cplusplus.com |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 27.08.2011
Сообщений: 21
|
![]()
#include <iostream>
#include <iomanip> #include <string> using namespace std; class Button { protected : int itsWeigth; int itsHeigth; public: Button(int weigth,int heigth){itsWeigth=weigth;itsHeigth= heigth;} ~Button(){}; }; class window { protected: int winWeigth; int winHeigth; public: Button button; window(int WINweigth,int WINheigth,int weigth,int heigth):button(weigth,heigth){winWe igth=WINweigth;winHeigth=WINheigth; } ~window(){}; }; class button_and_window ![]() { protected: char *menu; public: button_and_window(char*m,int WINweigth,int WINheigth,int weigth,int heigth):window(WINweigth,WINheigth, weigth,heigth){menu=m;} ~button_and_window(){}; void print()const; }; void button_and_window: ![]() { cout<<menu<<endl; for (int i=0;i<winHeigth;i++) { if ((i==0)||(i==winHeigth-1)) { for (int j=0;j<winWeigth;j++) { cout<<"*"; } cout<<endl; for(int i=0;i<itsHeigth;i++) { for(int j=0;j<itsWeigth;j++) { cout<<"*"; } cout<<endl; } } else { cout<<"*"<<setw(winWeigth-1)<<"*"<<endl; } } cout<<endl; } int main() { button_and_window C("MENU",15,15,3,3); C.print(); return 0; } не могу сделать так чтоб еще кнопка выводилась (((( если что не так критике буду рад !! |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 27.08.2011
Сообщений: 21
|
![]()
Имееться код все работает правильно , но программа падает при выполнении деструктора подскажите в чем ошибка
#include <iostream> #include <iomanip> #include <string> using namespace std; typedef double DB; class system_unit { protected: DB price; char *name; public: system_unit(char*N,DB PRICE); ~system_unit(){delete []name;} system_unit(system_unit &brand); void SetPrice(DB PRICE){price=PRICE;} int get(){return strlen(name);} DB GetPrice()const{return price;} void print(){cout<<name<<endl;}; }; system_unit::system_unit(char *N,DB PRICE) { int size=strlen(N); name=new char[size]; if (name==NULL) { cout<<"Memory blocked\n"; exit(1); } strcpy(name,N); price=PRICE; } system_unit::system_unit(system_uni t &brand) { name=new char [brand.get()]; if (name==NULL) { cout<<"Memory blocked\n"; exit(1); } strcpy(name,brand.name); } int main() { system_unit C("SAMSUNG",250.500); C.print(); cout<<C.GetPrice()<<endl; system_unit B(C); B.print(); return 0; } |
![]() |
![]() |
![]() |
#9 |
Регистрация: 19.02.2009
Сообщений: 9
|
![]()
Когда работаешь со строками, нужно выделять память для завершающего элемента '\0' в конце строки, т. е. на один символ больше, чем выделяешь ты в конструкторах:
Код:
Код:
Код:
Последний раз редактировалось Ak1ra; 08.09.2011 в 21:16. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
создание и наследование классов в С# | Pavellavr | Помощь студентам | 2 | 25.03.2011 20:37 |
Наследование классов | Serjuk | Общие вопросы C/C++ | 9 | 11.04.2010 16:25 |
наследование классов | Dimarik | Общие вопросы C/C++ | 15 | 02.07.2009 20:00 |
Одиночное наследование Виртуальные функции | Brunette | Помощь студентам | 3 | 08.05.2008 19:23 |