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

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

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

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

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

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

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

using namespace std;

class Init{
  protected:
     int** mas;
  public:
         friend void func1(int** mas);
        friend void funct2(int** mas);
     //Êîíñòðóêòîð
     Init(){
      //Ділимо наш вказівник на 3 рядків і 3 стовпців
       mas = new int*[3]; // 3 строк
       for (int i=0; i <3; i++)
       {
           mas[i] = new int[3]; 
           }// 3 стлб
     }
     Init (const Init& 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];
            
            }
            }   
            }
            
     
     ~Init()
     {
       for (int i=0; i<3; i++){ delete[] mas[i];
       delete[] mas;
                }
       }
     };
     class sh1{
           public:
                  void func1(int** mas){
                  //Зчитуємо його
       cout<<"Vvedit matrix: \n";
       for(int i=0; i<3; i++){
               for(int j=0; j<3; j++){
                       cin>>mas[i][j];
                       }
               }
       }
     virtual void funct2(int** mas){
          for(int i=0; i<3; i++){
             cout<<mas[i][0]<<" + "<<mas[i][1]<<" = "<<mas[i][0]+mas[i][1]<<"\n";
          }
     }
     
     };
     class sh2:public Init{
           public:
     
    virtual 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<<"Positive: "<<dod<<"\n";
          cout<<"Nrgative: "<<vid<<"\n";
     }
};


int main(){    
    
    sh2 ar;
    sh1 am;
  sh1 * ppoly = &am;   
  sh2 * ppoly1 = &ar;
  
  ppoly->sh1::func1( int** mas);//заполнение    - ошибка здесь!!!
  
  ppoly->funct2();//сумма
  
  ppoly1->funct2();//количество
       
    system("PAUSE");
    return 0;    
}
помогите исправить ошибку. Говорит: "99 hw.cpp expected primary-expression before "int" ; ". Очень срочно, завтра нужно сдать работу. Всем спасибо!!
vladxxl вне форума Ответить с цитированием
Старый 21.04.2011, 05:58   #2
Mahin
Пользователь
 
Регистрация: 18.11.2009
Сообщений: 39
По умолчанию

объяви mas до использования в func1
Mahin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Nero - ошибка драйвера DMA. ошибка CRC NecRoMat Софт 5 09.05.2012 01:29
Ошибка run-time Error 1004 общая ошибка ODBC kaval88 Microsoft Office Excel 0 27.02.2011 20:20
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58
Это ошибка Delphi или моя ошибка??? bloodeagle Общие вопросы Delphi 3 12.11.2009 15:26
...Ошибка 101 (net::ERR_CONNECTION_RESET): Неизвестная ошибка... infrared Помощь студентам 0 16.04.2009 17:44