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

Получение доступа к закрытым методом класса - C++

Восстановить пароль Регистрация
 
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
18.10.2013, 00:49     Получение доступа к закрытым методом класса #1
Как получить доступ к закрытому конструктору и деструктору?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
18.10.2013, 00:50     Получение доступа к закрытым методом класса #2
через дружественные методы или из других методов этого класса
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
18.10.2013, 00:51  [ТС]     Получение доступа к закрытым методом класса #3
Что передавать в качестве параметра в дружественном методе?
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
18.10.2013, 00:55     Получение доступа к закрытым методом класса #4
Эм. да ничего. Дружественный метод и без всяких параметров будет иметь доступ к конструктору
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
18.10.2013, 00:58  [ТС]     Получение доступа к закрытым методом класса #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <conio.h>
#include <iostream>
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
class avto
{
    friend void friconst()
    public:
         char *marka;
         char *price; 
private:
         avto()
         { 
             cout<<"Конструктор вызван"<<endl;
             this->marka = new char[20];
             this->price = new char[20];
         }
         ~avto()
         {
             delete []marka;
             delete []price;
         }
 
         
};
 
int main()
{
        setlocale(LC_ALL,"Russian");
 avto ds;
  void triconst();
 cout<<"Введите название марки авто"<<endl;
cin>>ds.marka;
 cout<<"Введите цену авто"<<endl;
cin>>ds.price;
system("pause");
}
Добавлено через 58 секунд
Вот таким способом не получилось
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.10.2013, 01:00     Получение доступа к закрытым методом класса #6
Цитата Сообщение от romanroman Посмотреть сообщение
friend void friconst()
где тело?

Добавлено через 31 секунду
Цитата Сообщение от romanroman Посмотреть сообщение
void triconst();
это что?

Добавлено через 43 секунды
Цитата Сообщение от romanroman Посмотреть сообщение
avto ds;
конструктор же приватный, только friconst() может создать объект avto
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
18.10.2013, 01:03  [ТС]     Получение доступа к закрытым методом класса #7
Что в теле дружественной функции писать?
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.10.2013, 01:04     Получение доступа к закрытым методом класса #8
Цитата Сообщение от romanroman Посмотреть сообщение
Что в теле дружественной функции писать?
да что хочешь
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
18.10.2013, 01:07  [ТС]     Получение доступа к закрытым методом класса #9
И все же, вопрос не решен
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
18.10.2013, 01:08     Получение доступа к закрытым методом класса #10
А какой смысл был вообще делать конструктор и деструктор приватными?
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
18.10.2013, 01:09  [ТС]     Получение доступа к закрытым методом класса #11
Для общего развития
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
18.10.2013, 01:10     Получение доступа к закрытым методом класса #12
Цитата Сообщение от romanroman Посмотреть сообщение
И все же, вопрос не решен
на твой вопрос тебе ответили, а что там тебе надо никто не знает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
 
class foo
{
    friend foo* bar();
    friend void spam(foo* f);
    
    foo() { std::cout << "c-tor\n"; }
    ~foo() { std::cout << "d-tor\n"; }
};
 
foo* bar()
{
    return new foo();
}
 
void spam(foo* p)
{
    delete p;
}
 
int main() 
{
    foo* f = bar();
    spam(f);
    return 0;
}
Добавлено через 40 секунд
Цитата Сообщение от romanroman Посмотреть сообщение
Для общего развития
для общего развития бери книгу и читай, гугли, а не сразу на форум бежать и требовать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.10.2013, 01:13     Получение доступа к закрытым методом класса
Еще ссылки по теме:

Получение доступа к методам дочернего класса через указатель на родительский, хранимый в vector C++
C++ Реализация методов доступа к закрытым полям (геттеры и сеттеры)
Реализовать функции доступа к закрытым полям класса C++

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

Или воспользуйтесь поиском по форуму:
romanroman
0 / 0 / 0
Регистрация: 24.04.2013
Сообщений: 135
18.10.2013, 01:13  [ТС]     Получение доступа к закрытым методом класса #13
Цитата Сообщение от Jupiter Посмотреть сообщение
для общего развития бери книгу и читай, гугли, а не сразу на форум бежать и требовать
я гуглил, нашел про поля, а вот с конструкторами и деструкторами толком ни чего и не нашел, спасибо!
Yandex
Объявления
18.10.2013, 01:13     Получение доступа к закрытым методом класса
Ответ Создать тему
Опции темы

Текущее время: 11:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru