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

Работа с классами (в главном классе создать указатель на экземпляр другого класса) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ printf sprintf не понятно http://www.cyberforum.ru/cpp-beginners/thread949773.html
Почему в printf строка отображается нормально, а sprintf вместо строки вставляет "(null)" ? что нужно сделать со строкой что бы она нормально копировалась в sprintf? char * какая-то строка полученная с бд printf(строка) пишет "строка" sprintf(... "строка: %s.", строка) получается "строка: (null)."
C++ время жизни временного объекта можно ли передать временный объект в функцию по ссылке? void f1(int & ); ..... int main() { f1(int()); http://www.cyberforum.ru/cpp-beginners/thread949767.html
C++ Ошибка в задаче про банкомат (снова работа со строками)
Ещё одна задача - на этот раз про банкомат, где надо использовать конструкцию map. Задача состоит в том, что надо вывести ответ на каждую из операций, запрашиваемых у банкомата. Программу я написала (с учётом определённых требований к её оформлению): #include<iostream> #include<string> #include<map> #include<algorithm> #include<stdlib.h> using namespace std; int main(){
Метод сортировки "пузырьком" C++
Написать программу которая реализует метод сортировки "пузырьком". Сгенерировать три массива 100, 1.000 и 10.000 элементов типа integer соответственно. Отсортировать полученные массивы по возростанию элементов; определить такие параметры: колличество сравнений, колличество обменов, фактическое время работы.
C++ Метод сортировки Шелла http://www.cyberforum.ru/cpp-beginners/thread949738.html
Написать программу которая реализует метод сортировки Шелла. Сгенерировать три массива 100, 1.000 и 10.000 элементов типа integer соответственно. Отсортировать полученные массивы по возростанию элементов; определить такие параметры: колличество сравнений, колличество обменов, фактическое время работы.
C++ Справка C++ Есть ли хорший русскоязычный справочик C++? Я тут нашол одну электронную версию- вставил ignore нет его вставил :: ну забыл я- нет и его.. С нормальной справкой было бы куда легче и учить разбирая пример и учить читаное! подробнее

Показать сообщение отдельно
fit
14 / 14 / 0
Регистрация: 20.04.2010
Сообщений: 102
07.09.2013, 19:57     Работа с классами (в главном классе создать указатель на экземпляр другого класса)
агрегация по ссылке это называется. а чтобы "во всех экземплярах главного класса был один и тот же указатель" переменную-указатель надо сделать статической. статическая переменная является общей для всех объектов класса, к которому она относится. пример:

C++
1
2
3
4
5
6
7
8
9
class A
{
};
 
class B
{
  private:
    static A* objectA;
};
objectA - указатель на объект класса A. если не инициализировать его при создании объектов клаcса B, то он будет 0.

присвоить значение objectA можно, например, так:
C++
1
2
3
B b1=new B(); 
B b2=new B(); // b1 и b2 - экземпляры главного класса
A B::objectA = new A(); // b1 и b2 ссылаются на объект класса A, через общий указатель objectA
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru