Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2014, 02:31   #1
zla9_kolu4ka
Форумчанин
 
Регистрация: 16.09.2013
Сообщений: 149
По умолчанию конструктор

почему когда создается объект ofTwo[], вызывается конструктор
powers(int n){x=n;}, а не powers(int* n){x=*n;}
Код:
#include <iostream>
#include <new>
using namespace std;

class powers{
	int x;
public:
	powers(int n){x=n;}
	powers(int* n){x=*n;}
};

int main(){
	powers ofTwo[] = {1,2,4,8,16};

	char ch = getchar();
	return 0;
}
zla9_kolu4ka вне форума Ответить с цитированием
Старый 09.03.2014, 02:34   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

потому что вы создаете 5 объектов через первый конструктор.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.03.2014, 02:37   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Вы создаете массив, который должен быть инициализирован числами.

Это значит, вы создаете массив, элементы которого должны быть инициализированы числами.

Соответственно, запускается тот конструктор, который принимает число.

Числовые константы (например: цифра 1) имеет тип int.

Поэтому, запускается конструктор который принимает числа, а значит - принимает аргумент типа int
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
конструктор С++ zla9_kolu4ka Общие вопросы C/C++ 2 07.03.2014 00:22
Конструктор Freewill Общие вопросы C/C++ 1 18.02.2012 21:51
Конструктор С++ sir.andrey Помощь студентам 7 25.07.2011 10:30
С++ (конструктор, деструктор, копирующий конструктор) Jane-sad Помощь студентам 2 01.10.2010 10:01
конструктор An123 Помощь студентам 1 17.01.2010 17:14