powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
9 сообщений из 9, страница 1 из 1
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593708
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно как то это убрать? не нужен вызов базового конструктора.
...
Рейтинг: 0 / 0
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593714
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323не нужен вызов базового конструктора.
по религиозным соображениям или причины какие есть?
...
Рейтинг: 0 / 0
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593715
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

причины на то есть. Ну зачем этот вопрос нужно было задавать ?

ответить то не мог нормально?
...
Рейтинг: 0 / 0
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593716
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323,

от причин зависит выбор решения
...
Рейтинг: 0 / 0
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593717
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,
Код: plaintext
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.
	static MYSQL *connection;

	// Класса для поддержки связи с базой.
	class CMySqlBase
	{
		public:
			CMySqlBase( const char *host = def_localhost
					   ,const char *user = def_user
					   ,const char *pass = def_pass
					   ,const char *db   = def_db
					   ,const int port   = def_port ) throw( CMySqlError );

			~CMySqlBase()
			{
				mysql_close(connection);
			}

		private:
			MYSQL mysql;
	};

	// Класс для работы с базой.
	class CMySql
	{
		 public:
			CMySql()
			{

			}
	};



Как видишь есть два класса один служит только для связи с бд, другой для работы с ней.
если каждый раз создавать объект CMySql, то мы каждый раз будет подключаться к ней. но этого делать не надо.
ну я уже решил эту проблему сделал переменную глобальной.
...
Рейтинг: 0 / 0
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593721
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323Как видишь есть два класса один служит только для связи с бд, другой для работы с ней.
если каждый раз создавать объект CMySql, то мы каждый раз будет подключаться к ней. но этого делать не надо.
очень плохое решение
...
Рейтинг: 0 / 0
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593723
gera3323
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,

посоветуй как лучше
...
Рейтинг: 0 / 0
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593734
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323если каждый раз создавать объект CMySql, то мы каждый раз будет
подключаться к ней. но этого делать не надо.
Значит не надо наследовать CMySql от CMySqlBase. Обычно классы, инкапсулирующие запрос или
курсор только ссылаются на объект инкапсулирующий коннект.

Ну и идея подключаться прямо в конструкторе тоже не слишком хорошая: при выбросе
исключения будешь иметь проблемы с автоматическим уничтожением и срабатыванием деструктора.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
    #38593772
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gera3323можно как то это убрать? не нужен вызов базового конструктора.


Никак. Он всегда нужен.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / При наследовании, когда создаешь объект наследника вызывается конструктор базового класса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]