The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"class test { int x; public: test(int) { this->x=x; } "
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"class test { int x; public: test(int) { this->x=x; } "
Сообщение от Lamr emailИскать по авторуВ закладки on 13-Янв-04, 17:21  (MSK)
test(void) { test::test(1); } можно ли так писать?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "class test { int x; public: test(int) { this->x=x; } "
Сообщение от Lamr emailИскать по авторуВ закладки on 13-Янв-04, 17:42  (MSK)
> можно ли так писать?
хм, видимо нельзя

А как тогда можно сократить почти одинаковый код в конструкторах?
их несколько, и в каждом почти одно и тоже

Еще функцию определить?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "class test { int x; public: test(int) { this->x=x; } "
Сообщение от solov Искать по авторуВ закладки on 13-Янв-04, 18:08  (MSK)
Это в яве нелзя так конструктор вызывать надо писать
Test(){this(variable);},
а в С++ можно
Test(){Test(variable);}
перед тем как задавать такие вопросы не поленись сам попробывать.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "а в С++ можно "
Сообщение от Lamr emailИскать по авторуВ закладки on 13-Янв-04, 18:19  (MSK)
>а в С++ можно

А вот хер, я попробовал
Ниже приведенная граммуля вместо 0 выводит ошень балшое чишло
Сам момпрбуй

//
//
//
#include <stdio.h>

class test {
int x;
int y;

long qt() { return (long)(x*y); }

public:
test(int x, int y) { this->x = x; this->y = y; }
test() { test::test(0,0); }
              // ^^ я думал здезь вызову test(int, int) - не выходит!

long qudr() { return qt(); }
~test() {}
};

int
main()
{
test B;
test A(10,10);
printf("%D\n", A.qudr());
printf("%D\n", B.qudr());
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Ты прав нельзя"
Сообщение от solov Искать по авторуВ закладки on 14-Янв-04, 19:32  (MSK)
Ты прав инициализировать переменные класса таким способом нельзя, хоть и конструктор из конструктора вызвать можно.
Тогда только так:
Test(x=1, y=2){this->x=x; this->y=y}
но ты это уже знаеш.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "вот asso кинул замечательный FAQ "
Сообщение от Lamr emailИскать по авторуВ закладки on 15-Янв-04, 10:20  (MSK)
http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.3

Спасибо, asso

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру