Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lagilo
2 / 2 / 0
Регистрация: 17.04.2014
Сообщений: 127
#1

Невозможно обратиться к private член, объявленному в классе - C++

17.10.2015, 14:58. Просмотров 249. Ответов 4
Метки нет (Все метки)

View.h
C++
1
2
3
4
5
6
7
8
9
10
#pragma once
#include "Model.h"
class View
{
private:
    ModelClass model;
public:
    View(ModelClass modelClass);
    ~View(void);
};
View.cpp
C++
1
2
3
4
5
6
7
#include "View.h"
View::View(ModelClass model)//почему тут ошибка???
{
}
View::~View(void)
{
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2015, 14:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Невозможно обратиться к private член, объявленному в классе (C++):

Невозможно обратиться к private член, объявленному в классе "Complex" - C++
выдавало ошибку "невозможно обратиться к private член, объявленному в классе "Complex"" я поменяла int n; private: double re; ...

Невозможно обратиться к protected член, объявленному в классе "Counter" - C++
typedef unsigned int uint; class Counter { protected: ...

Невозможно обратиться к private -члену - C++
Подскажите пожалуйста,в чем проблема, из-за создания объекта компилятор выдает ошибку. Класс Base-абстрактный #include "stdafx.h" ...

Ошибки в коде с вложеными классами: Невозможно обратиться к private члену - C++
Здорова! Есть код: #include <iostream> using std::cout; #include <afxwin.h> #define IDD_One 1 #define IDD_Two 2 #define...

Зачем в классе private? - C++
Объясните пожалуйста кто-нибудь зачем в классе private? что он делает? и почему его не в public поставить зачем приват? Тексты надо...

Как обратиться к функции поля объекта из private'a - C++
Доброго времени суток! Юзаю SFML для отрисовки. Как обратиться к функции setTextureRect, если я _sprite помещу в private? ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
nmcf
5310 / 4630 / 1550
Регистрация: 14.04.2014
Сообщений: 18,437
17.10.2015, 15:02 #2
Конструктор пустой? Зачем тогда этот параметр?
Lagilo
2 / 2 / 0
Регистрация: 17.04.2014
Сообщений: 127
17.10.2015, 15:09  [ТС] #3
Он не будет пустым, конечно же.
C++
1
2
3
4
5
View::View(ModelClass model):this->model(model)//:View::model(model) - не знаю как правильно
{
   //или тут
   //this->model(model)//:View::model(model)
}
zss
Модератор
Эксперт С++
6360 / 5924 / 1921
Регистрация: 18.12.2011
Сообщений: 15,228
Завершенные тесты: 1
17.10.2015, 15:10 #4
C++
1
2
3
4
5
6
7
8
class View
{
private:
    ModelClass model;
public:
    View(ModelClass modelClass):model(modelClass){};
    //~View();
};
Lagilo
2 / 2 / 0
Регистрация: 17.04.2014
Сообщений: 127
17.10.2015, 17:49  [ТС] #5
А обязательно описывать в .cpp весь класс?
Т.е. в заголовочном файле я создал ссылки на переменные и т.п., а теперь в файле с кодом обратно все писать нужно что ли? Если обратно все писать нужно, то для чего вообще создается заголовочный файл? Почему нельзя его просто как то привязать к файлу исходного кода, чтобы одно и то же несколько раз не писать?

Добавлено через 11 минут
C++
1
2
3
4
5
6
7
8
9
class Vieww
{
private:
    ModelClass model;
public:
    Vieww(ModelClass modelClass):model(modelClass){};//IntelliSense: "ModelClass::~ModelClass()" недоступно 
 
    //~Vieww(void){}
};
Добавлено через 2 часа 18 минут
Все. Просто нужно было передавать ссылку на класс..)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2015, 17:49
Привет! Вот еще темы с ответами:

Обращение к private полям в классе - C++
Здравствуйте! Возник еще один вопрос.Как можно обращаться к private полям класса во внешних функциях кроме как создания методов,которые...

LNK2019: о private и public в классе - C++
Всем суп, есть беда: // "NAbstractNumber.h" class NAbstractNumber{ NAbstractNumber(){}; virtual std::string toString(int...

Необходим общий private static-член для всех классов, сгенерированных по шаблону - C++
Здравствуйте! Мне необходим общий private static-член для всех классов, сгенерированных по шаблону, и при этом, не хочется засорять...

О правилах хорошего тона в C++: изменение данных из private секции класса А в классе В через указатель - C++
#include <iostream> using namespace std; class A { int *a; public: A()


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
17.10.2015, 17:49
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru