HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #21  
Старый 22.06.2009, 12:03
rudvil
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
С нами: 9320830

Репутация: 86
По умолчанию

Извиняюсь за глупый вопрос, но что делает эта единица в конце?
Код:
bool data7:1;
Ведь таким же образом наследуют структуры и классы, а тут мистическая цифра "1" =/
 
Ответить с цитированием

  #22  
Старый 22.06.2009, 12:06
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

это значит что ты эта переменная будит занимать 1 бит.
И по этому конструкция в структуре типа
bool data1:1;
bool data2:1;
bool data3:1;
bool data4:1;
bool data5:1;
bool data6:1;
bool data7:1;
bool data8:1;
тудет занимать 1 байт
 
Ответить с цитированием

  #23  
Старый 22.06.2009, 12:13
rudvil
Участник форума
Регистрация: 25.08.2008
Сообщений: 187
С нами: 9320830

Репутация: 86
По умолчанию

Интерестно, спасибо.
 
Ответить с цитированием

  #24  
Старый 22.06.2009, 12:13
jawbreaker
Участник форума
Регистрация: 07.07.2008
Сообщений: 161
С нами: 9391926

Репутация: 234
По умолчанию

Цитата:
Сообщение от Fata1ex  
Задание 4.
Код:
class A {
public:
    virtual void Foo (int n = 10) {
        cout << "A::Foo, n = " << n << endl;
    }
};

class B : public A {
public:
    virtual void Foo (int n = 20) {
        cout << "B::Foo, n = " << n << endl;
    }
};

int main() {
    A * pa = new B ();
    pa->Foo ();

    return 0;
}
//(c) habrahabr//h1ppo
Что выведет программа и почему?
Ну видимо B::Foo, n = 10 потому что значение по умолчанию будет взято из другой функции?
 
Ответить с цитированием

  #25  
Старый 22.06.2009, 12:13
desTiny
Reservists Of Antichat - Level 6
Регистрация: 04.02.2007
Сообщений: 1,152
С нами: 10139366

Репутация: 1502


По умолчанию

ок, так:
Код:
struct _REC
 {
	unsigned data1:16;
	unsigned data2:16;
	unsigned data3:16;
	unsigned data4:1;
    unsigned data5:1;
    unsigned data6:1;
    unsigned data7:1;
    unsigned data8:1;
} REC;
//его почему-то short смущал
__________________
Bedankt euch dafür bei euch selbst.

H_2(S^3/((z1, z2)~(exp(2pi*i/p)z1, exp(2pi*q*i/p)z2)))=Z/pZ
 
Ответить с цитированием

  #26  
Старый 22.06.2009, 12:16
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами: 10097606

Репутация: 3349


По умолчанию

2 desTiny Это правильный, но некрасивый способо. Есть более красивый и удобный)
 
Ответить с цитированием

  #27  
Старый 22.06.2009, 12:57
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами: 10216668

Репутация: 930


По умолчанию

Спасибо всем, кто поддержал тред. Обновил первый пост: есть нерешенные задачи!
 
Ответить с цитированием

  #28  
Старый 22.06.2009, 13:32
Lee_fx
Познающий
Регистрация: 27.09.2008
Сообщений: 57
С нами: 9273960

Репутация: 23
По умолчанию

Код:
void display(int in) {
     // What im doing here????????/
cout << ++in;
}

void foo() {
    int a=10;
    display(a);
}
Ничего не выведет, ??/ - триграф = \(конкатенация), в итоге получится функция void display(int in) {}
 
Ответить с цитированием

  #29  
Старый 22.06.2009, 13:33
Lee_fx
Познающий
Регистрация: 27.09.2008
Сообщений: 57
С нами: 9273960

Репутация: 23
По умолчанию

Код:
class SimpleClass {
		private:
			int a;
			int b;
		public:
			SimpleClass(int x) : b(x), a(b) {}
			void print() {
				std::cout << "a=" << a << " b=" << b << std::endl;
			}
	};

	int main() {
		SimpleClass a(42);
		a.print();
	return 0;
}
Насколько помню тут первой инициализируется переменная a, так как стоит первая в объявлении в private и инициализируется соответственно мусором из b. Короче SimpleClass(int x) : b(x), a(b), порядок b(x), a(b) или a(b), b(x) не важен.
 
Ответить с цитированием

  #30  
Старый 22.06.2009, 13:43
Fata1ex
Постоянный
Регистрация: 12.12.2006
Сообщений: 906
С нами: 10216668

Репутация: 930


По умолчанию

Немного поправлю:
Списки инициализаторов инициализируют члены данных в порядке их следования в определении класса. Отсюда проблемы = )
Решения приняты )
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[PHP] ЗАДАНИЯ от Krist_ALL Krist_ALL PHP 205 30.11.2009 18:31
Задания ~Fenix~ Болталка 11 13.05.2006 11:03



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.