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

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

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

Ошибка получения переменной класса - C++

10.12.2013, 14:26. Просмотров 251. Ответов 6
Метки нет (Все метки)

Есть 2 класса:

Класс 1:
Кликните здесь для просмотра всего текста
Код
#include <iostream>
#include "MyClass2.h"

class MyClass
{
public:
	MyClass2* myClass2;

	MyClass()
	{
		myClass2 = new MyClass2(*this);
	}
};


Класс 2:
Кликните здесь для просмотра всего текста
Код
#include <iostream>

class MyClass2
{
public:
	MyClass2(MyClass* mclass)
	{

	}
};


Нужно при создании класса 2 из класса 1 передать переменную класса 1 в класс 2.
Ошибка заключается в том, что визуал студия подчеркивает левую скобку от this.
При наведении пишет:
Отсутствуют экземпляры конструктора "MyClass2::MyClass2", соответствующие списку аргументов
Что я не так написал?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 14:26     Ошибка получения переменной класса
Посмотрите здесь:

Получения доступа к переменной другого класса - C++
Нужно получить доступ к переменным x и y класса Field из класса Snake. Как это сделать? // &quot;Змейка V0.1&quot; #include &lt;iostream&gt; ...

Получения количества полей класса - C++
Предположим, что я делаю шаблонную функцию для простого сложения. Если мне посылаются int и double, я просто складываю не акцентируя...

Разное значение переменной класса, в разных экземплярах класса - C++
Вот примерный код: class Test { private: static int countC; static int countD; void initWeight(){ double a; ...

Инициализация переменной члена класса - C++
Добрый день. Не могу никак понять, что делаю неверно при использовании переменной класса. Не понимаю как переменную необходимо...

Вывод переменной из наследника класса - C++
Здравствуйте. Как можно вывести значение переменной класса из наследника, изменив это значение в нём? Таким методом, как я пробую, значение...

Удаление переменной типа класса - C++
Как удалить переменную типа класса который я сам создал?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
10.12.2013, 14:39     Ошибка получения переменной класса #2
Ну вообще *this указатель на текущий объект, как ты его передаешь в конструкторе, если он не создан еще? Да и вообще странный пример, чтобы создать один объект нужно создать другой, но другой создается из первого, а первый не может создаться без второго? Замкнутый круг.
egor2116
339 / 370 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
10.12.2013, 14:43     Ошибка получения переменной класса #3
Что я не так написал?
Смотрите в сторону предварительное объявление класса.
Приведите пример где такое вы используете.
Nikkilla
2 / 2 / 0
Регистрация: 24.02.2013
Сообщений: 62
14.12.2013, 14:09  [ТС]     Ошибка получения переменной класса #4
C++ я начал изучать недавно, и подобные ограничения по сравнению с Java мне пока не совсем понятны. К примеру у меня есть класс World - в этом классе создается игровой мир, персонажи и т.д. Внутри класса World создается класс Player - это класс игрока. Так вот. Из класса игрока нужно получить доступ к переменным класса World. Передавать десятки переменных в нужный класс не самый лучший вариант, потому как мне казалось легче передать класс World в класс Player и уже там из него брать необходимые переменные.
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
14.12.2013, 14:55     Ошибка получения переменной класса #5
Это проблемы проектирования. Такого не будет при хорошо спроектированном проекте. Почитайте про Паттерны проектирования.
ValeryS
Модератор
6551 / 5017 / 463
Регистрация: 14.02.2011
Сообщений: 16,736
14.12.2013, 15:00     Ошибка получения переменной класса #6
Цитата Сообщение от Nikkilla Посмотреть сообщение
потому как мне казалось легче передать класс World в класс Player и уже там из него брать необходимые переменные.
почитай про frend классы, функции
а вообще Peperovich,прав
Цитата Сообщение от Peperovich Посмотреть сообщение
Это проблемы проектирования.
если Player может
Цитата Сообщение от Nikkilla Посмотреть сообщение
брать необходимые переменные.
то значит и сможет менять,а это уже нарушение ООП
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2013, 15:01     Ошибка получения переменной класса
Еще ссылки по теме:

Указатель является переменной-членом класса - C++
#include &lt;iostream&gt; class SimpleCat { public: SimpleCat(); ~SimpleCat(); int GetAge() const { return *itsAge; } void...

Установить значение переменной из другого класса - C++
Всем здрасьте. У меня есть 3 класса.Почти не как от друга не зависят. На скрине показана схемка. Так вот , в классе MENU у меня есть...

Область видимости переменной пользовательского класса - C++
Всем привет! Столкнулся с такой проблемой: Создал клас и в нем класс исключений class A { char* pt; public: class...

Запретить редактирование переменной внутри класса - C++
как сделать чтобы переменная (не const) внутри класса чтобы она одновременно была видна из места вызова, но ей там нельзя было что то...


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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
14.12.2013, 15:01     Ошибка получения переменной класса #7
Nikkilla, нет понятия "переменная класса".
Yandex
Объявления
14.12.2013, 15:01     Ошибка получения переменной класса
Ответ Создать тему
Опции темы

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