Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2011, 14:46   #1
vladxxl
Пользователь
 
Регистрация: 27.11.2010
Сообщений: 16
По умолчанию Всё, что можно относительно классов

Код:
/*программа динамически инициализирует матрицу 3 на 3. Считает сумму соответствующих элементов первых двух столбцов(1 производный класс). Подсчитывает количество отрицательных и положительных елементов(2 производный класс) */
#include <iostream>

using namespace std;

class First{
  protected:
     int** mas;
  public:
     //Конструктор
     Ашкые(){
      //Выделим память под 3 столбца и 3 строчки 
       mas = new int*[3]; // 3 строки
for (int i=0; i <3; i++){
mas[i] = new int[3]; }// 3 стлб
       //Считываем массив
       cout<<"Vvedit matrix: \n";
       for(int i=0; i<3; i++){
         for(int j=0; j<3; j++){
            cin>>mas[i][j];
         }
       }
     }
     biba (const biba& obj) {//конструктор копирования

mas = new int*[3];   // новая копия
for (int i=0; i <3; i++)
mas[i] = new int[3];

       for(int i=0; i<3; i++){
         for(int j=0; j<3; j++){
            mas[i][j]=obj.mas[i][j];}}
            }
            
     
     ~biba(){//деструктор
       for (int i=0; i<3; i++){ delete[] mas[i];
       delete[] mas;
     }
     }
     };
     class Second:public First{
           public:
     void funct1(){
          for(int i=0; i<3; i++){
             cout<<mas[i][0]<<" + "<<mas[i][1]<<" = "<<mas[i][0]+mas[i][1]<<"\n";
          }
     }
     };
     class third:public Second{
           public:
     
     void funct2(){
          int dod=0, vid=0;
          for(int i=0; i<3; i++){
             for(int j=0; j<3; j++){
                if(mas[i][j]<0){
                    vid++;
                }else
                if(mas[i][j]>0){
                    dod++;
                }
             }
          }
          
          cout<<"Dodatni: "<<dod<<"\n";
          cout<<"Videmni: "<<vid<<"\n";
     }
};


int main(){    
    
    third mas;
    mas.funct1();
    mas.funct2();
    
    system("PAUSE");
    return 0;    
}
Помогите переделать под программку с динамическими классами, переопределяющимеся функциями, виртуальными функциями, дружественными функциями, перегрузкой конструкторов базового класса. Спасибо)) Если действий для использования всего вышесказанного не хватит можно одни и те же действия делать понескольку раз. Спасибо за потраченное время. +1 каждому))
vladxxl вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
потоки и всё что с ними связано (thread). Не компилица( The C++ Builder 3 28.03.2011 03:50
PaintBox и всё что с ним связано! Heming Помощь студентам 0 25.11.2010 15:24
указатель на void в иерархии классов. можно ли так делать? ksuxa_m Помощь студентам 0 28.10.2010 21:48
Что такое пакет классов? Дима я Общие вопросы Delphi 1 21.04.2010 21:59
StringGrid и всё что с ней связано.... GAGARIN-NEW Компоненты Delphi 22 11.10.2007 15:19