<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=262321</guid>
        <pubDate>Fri, 12 Dec 2003 17:48:19 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=262321</link>
        <description><![CDATA[Fantasist:  <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--><b>XilinX</b>, 12.12.03, 09:54<br>..... в других тоже самое.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br><br>  Значит студия кривая. Попробуй переустановить. Вот и все идеи. ]]></description>
        <author>Fantasist</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=262038</guid>
        <pubDate>Fri, 12 Dec 2003 09:54:34 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=262038</link>
        <description><![CDATA[XilinX:  Я УВЕРЕН, что это не пустой прект..... в других тоже самое.<br>MeG, при чем тут release, вопрос не в этом..... ]]></description>
        <author>XilinX</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=261801</guid>
        <pubDate>Thu, 11 Dec 2003 19:55:35 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=261801</link>
        <description><![CDATA[Fantasist:  <!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--><b>XilinX</b>, 9.12.03, 11:14<br>Ни у кого никаких идей? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br><br>Нет, идей нет. Странный глюк обычно там все есть. Ты уверен, что это не пустой проект? А в других проектах показывает?<br><br><!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->И как ты себе представляешь последнее мое сообщение? <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br><br>  Да все нормально ты написал, не понимаю что у MeG&#39;a за претензии. ]]></description>
        <author>Fantasist</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=261758</guid>
        <pubDate>Thu, 11 Dec 2003 18:50:24 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=261758</link>
        <description><![CDATA[MeG:  Ну ты даешь <!--emo&:blink:--><img src='http://forum.sources.ru/html/emoticons/blink.gif' border='0' style='vertical-align:middle' alt='blink.gif' /><!--endemo--> <br>Тебе три раза на этой странице сказано: собирай release ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=260680</guid>
        <pubDate>Wed, 10 Dec 2003 06:21:17 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=260680</link>
        <description><![CDATA[XilinX: <!--QuoteBegin-MeG+9.12.03, 18:20--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> (MeG @ 9.12.03, 18:20)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <span style='color:gray'>Тут ни у кого нет ни каких обязанностей перед тобой, так что &#39;пожалуйста&#39;, с твоей стороны, было бы в самый раз.</span> <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd--><br> И как ты себе представляешь последнее мое сообщение? Пожалуйста, ни у кого никаких идей? или Пожалуйста, идейку плииизз, умираю.......   больше походит на какоето клянчание. Я же задаю реальный вопрос, и не потому, что мне позарез необходим ответ, а потому, что это интересный случай (не только для меня). И я не понимаю, что тебя так задело? Я никогда даже и не намекал, что кто-то тут мне что-то должен. ]]></description>
        <author>XilinX</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=260401</guid>
        <pubDate>Tue, 09 Dec 2003 15:20:51 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=260401</link>
        <description><![CDATA[MeG:  Может нужно не отладочную (debug) версию собирать, а конечную (release)<br><br><span style='color:gray'>Тут ни у кого нет ни каких обязанностей перед тобой, так что &#39;пожалуйста&#39;, с твоей стороны, было бы в самый раз.</span> ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=260224</guid>
        <pubDate>Tue, 09 Dec 2003 11:14:24 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=260224</link>
        <description><![CDATA[XilinX:  Ни у кого никаких идей?   <!--emo&:(--><img src='http://forum.sources.ru/html/emoticons/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif' /><!--endemo-->  ]]></description>
        <author>XilinX</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=259383</guid>
        <pubDate>Mon, 08 Dec 2003 04:52:27 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=259383</link>
        <description><![CDATA[XilinX:  Чо за фигня: у меня на странице свойств проекта нифига нет. Тоесть там есть пункты Optimization, Code Generation ect. но если на них тыкнуть, то нифига не появляется (собственно параметров)<br> ]]></description>
        <author>XilinX</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=259220</guid>
        <pubDate>Sun, 07 Dec 2003 17:41:49 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=259220</link>
        <description><![CDATA[MeG: <!--QuoteBegin-XilinX+7.12.03, 15:15--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> (XilinX @ 7.12.03, 15:15)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Компилятор у меня VC (.NET) и вместо inline-подстановки он вставляет call <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd--><br> Release?<br><br>Оптимизацию включал?<br><br>Обрати внимание на последний абзац в цитате Страуструпа ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258982</guid>
        <pubDate>Sun, 07 Dec 2003 09:15:37 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258982</link>
        <description><![CDATA[XilinX:  Компилятор у меня VC (.NET) и вместо inline-подстановки он вставляет call ]]></description>
        <author>XilinX</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258912</guid>
        <pubDate>Sun, 07 Dec 2003 04:11:47 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258912</link>
        <description><![CDATA[MeG:  В общем, не знаю что у тебя за компилятор, <br>VC, в release, с оптимизацией по скорости, делает абсолютно одинаковый код для<br><b>struct m_Struct { float x, y, z; } m_Struct;<br>float m_Coord[3];<br>inline float &amp; Get_X() { return m_Struct.x; }</b><br>именно, доступ в одну строчку с индексным методом адресации относительно адреса объекта<br><b>fld	DWORD PTR [ecx+8]</b><br>или<br><b>mov	DWORD PTR [ecx+8], edx</b> ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258905</guid>
        <pubDate>Sun, 07 Dec 2003 03:36:33 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258905</link>
        <description><![CDATA[MeG:  <!--QuoteBegin-XilinX+7.12.03, 02:55--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> (XilinX &#064; 7.12.03, 02:55)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Идея отсюда:<br>Существует базовый класс, описывающий n-мерный вектор.<br>Дочерний клас описывает 3-х мерный вектор.<br>В базовом классе компоненты вектора живут в Coord[n],<br>хотелось бы реализовать доступ к ним как к полям структуры<br>из дочернего класса.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br>Базовый класс твой?<br><br><!--QuoteBegin-XilinX+7.12.03, 02:55--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> (XilinX &#064; 7.12.03, 02:55)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->Обращение к полю структуры, это просто mov, а еслт делать<br>функцию float&amp; X(), то это намного больше операций.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br>А если проверить? ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258857</guid>
        <pubDate>Sat, 06 Dec 2003 20:55:20 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258857</link>
        <description><![CDATA[Guest:  Идея отсюда:<br>Существует базовый класс, описывающий n-мерный вектор.<br>Дочерний клас описывает 3-х мерный вектор.<br>В базовом классе компоненты вектора живут в Coord[n],<br>хотелось бы реализовать доступ к ним как к полям структуры<br>из дочернего класса.<br>Обращение к полю структуры, это просто mov, а еслт делать<br>функцию float&amp; X(), то это намного больше операций. ]]></description>
        <author>Guest</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258809</guid>
        <pubDate>Sat, 06 Dec 2003 19:22:27 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258809</link>
        <description><![CDATA[MeG:  Вот что сказано у Страуструпа про встраиваемые функции.<br><!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--><br>&nbsp; &nbsp; Функцию можно определить со спецификатором <b><i>inline</i></b>. Например:<br><b><i>inline int fac (int n) { return (n &lt; 2) ? 1: n * fac (n - 1); }</i></b><br>Спецификатор <b><i>inline</i></b> указывает компилятору, что он должен пытаться каждый раз генерировать в месте вызова код, соответствующий функции <b><i>fac ()</i></b> (факториал), а не создавать отдельно код функции (едножды) и затем вызывать ее посредством обычного механизма вызова. Хороший компилятор может сгенерировать константу <b><i>720</i></b> в месте вызова <b><i>fac (6)</i></b>. В виду допустимости рекурсивных и взаимно рекурсивных встроенных функций, невозможно гарантировать, что в месте вызова такой функции будет действительно осуществлено встраивание кода функции. В зависимости от качества, один компилятор может сгенерировать <b><i>720</i></b>, другой --- <b><i>6 * fac (5)</i></b>, а третий ---&nbsp; обычный вызов <b><i>fac (6)</i></b>.<br>&nbsp; &nbsp; Для того чтобы сделать возможным встраивание при отсутствии &quot;сверхумного&quot; компилятора и изощренных средств компоновки, определение (а не только объявление) встроенной функции должно находится в данной области видимости.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--> ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258798</guid>
        <pubDate>Sat, 06 Dec 2003 18:58:50 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258798</link>
        <description><![CDATA[MeG:  <!--QuoteBegin-XilinX+7.12.03, 00:38--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> (XilinX &#064; 7.12.03, 00:38)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Странно, я объявляю функцию как inline, однако просматривая ассемблерный код, вижу тот-же call <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br>Вообще, inline является рекомендацией компилятору встроить код. Компилятор сам выбирает, может он встроить функцию или нет. Во всех компиляторах, которые я видел, есть настройка &#39;запретить встраивание inline функций&#39;, и эта настройка по умолчанию часто бывает установлена.<br><br><span style='color:gray'><b>Добавлено в</b> <time class="tag-mergetime" datetime="2003-12-06T19:01:38+00:00">06.12.03, 19:01</time></span><br><!--QuoteBegin-XilinX+7.12.03, 00:39--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> (XilinX &#064; 7.12.03, 00:39)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <!--QuoteBegin-MeG+6.12.03, 20:25--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> (MeG &#064; 6.12.03, 20:25)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Еще раз перечитал вопрос. Видимо да, массив в базовом классе, и нужно в дочернем классе сделать структуру поверх массива в базовом классе. Разумеется так нельзя, папа и сын не могут иметь одну общую руку.<!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br>Ты уверен, что нельзя?<br> <!--QuoteEnd--></td></tr></table><div class='postcolor'><!--QuoteEEnd--><br>На сколько я понимаю, это противоречит одной из основных концепций ООП --- инкапсуляции.<br><br>Может я ошибаюсь, откуда у тебя такая идея взялась? ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258792</guid>
        <pubDate>Sat, 06 Dec 2003 18:39:51 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258792</link>
        <description><![CDATA[XilinX: <!--QuoteBegin-MeG+6.12.03, 20:25--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>Цитата</b> (MeG @ 6.12.03, 20:25)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> Еще раз перечитал вопрос. Видимо да, массив в базовом классе, и нужно в дочернем классе сделать структуру поверх массива в базовом классе. Разумеется так нельзя, папа и сын не могут иметь одну общую руку.<br><br>Массив фиксированного размера, можно попробовать через дефайны<br><br>#define _X_ (CBase::mCoord[0])<br>#define _Y_ (CBase::mCoord[1])<br>#define _Z_ (CBase::mCoord[2]) <!--QuoteEnd--> </td></tr></table><div class='postcolor'> <!--QuoteEEnd--><br> Ты уверен, что нельзя? ]]></description>
        <author>XilinX</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258790</guid>
        <pubDate>Sat, 06 Dec 2003 18:38:21 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258790</link>
        <description><![CDATA[XilinX:  Странно, я объявляю функцию как inline, однако просматривая ассемблерный код, вижу тот-же call ]]></description>
        <author>XilinX</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258764</guid>
        <pubDate>Sat, 06 Dec 2003 17:25:36 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258764</link>
        <description><![CDATA[MeG:  Еще раз перечитал вопрос. Видимо да, массив в базовом классе, и нужно в дочернем классе сделать структуру поверх массива в базовом классе. Разумеется так нельзя, папа и сын не могут иметь одну общую руку.<br><br>Массив фиксированного размера, можно попробовать через дефайны<br><br>#define _X_ (CBase::mCoord[0])<br>#define _Y_ (CBase::mCoord[1])<br>#define _Z_ (CBase::mCoord[2]) ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258758</guid>
        <pubDate>Sat, 06 Dec 2003 17:13:01 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258758</link>
        <description><![CDATA[Visitor:  Я так понял, фишка в том, что декларацию базового класса менять нельзя? ]]></description>
        <author>Visitor</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258753</guid>
        <pubDate>Sat, 06 Dec 2003 17:06:10 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258753</link>
        <description><![CDATA[MeG:  <b>2 XilinX</b> какой компилятор?<br>(не увидел у тебя в примере имени объединения)<br><br>У меня все получилось на VC6<br><!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b></b> </td></tr><tr><td id='CODE'><!--ec1-->class CBase &nbsp;<br>{<br>public&#58;<br>	union<br>	{<br> &nbsp;struct <br> &nbsp;{<br> &nbsp;	float x, y, z;<br> &nbsp;}u_Struct;<br> &nbsp;float u_Coord&#91;3&#93;;<br>	} m_Union;<br>	CBase&#40;&#41;{}<br>	~CBase&#40;&#41;{}<br>};<br><br>//==========<br>class CChild &#58; public CBase &nbsp;<br>{<br>public&#58;<br>	int SomeMethod&#40;&#41;;<br>	CChild&#40;&#41;;<br>	~CChild&#40;&#41;;<br>};<br><br>//==========<br>CChild&#58;&#58;CChild&#40;&#41;<br>{<br>	m_Union.u_Coord&#91;0&#93; = 1.222f;<br>	m_Union.u_Coord&#91;1&#93; = -0.0000263f;<br>	m_Union.u_Coord&#91;2&#93; = 1235.1234f;<br>}<br><br>CChild&#58;&#58;~CChild&#40;&#41;{ }<br><br>int CChild&#58;&#58;SomeMethod&#40;&#41;<br>{<br>	printf&#40;&#34;coord_X = %f&#092;ncoord_Y = %f&#092;ncoord_Z = %f&#092;n&#34;, <br> &nbsp; &nbsp; m_Union.u_Struct.x, <br> &nbsp; &nbsp; m_Union.u_Struct.y, <br> &nbsp; &nbsp; m_Union.u_Struct.z&#41;;<br>	return sizeof&#40;m_Union&#41;;<br>}<br><!--c2--></td></tr></table><div class='postcolor'><!--ec2--><br><br>sizeof(m_Union); показывает 12, так как в VC размер float-а четыре байта, то есть VC приводит float к double.<br><br>Я бы сделал по другому, в базовом классе, в секции protected:, создал инлайновый метод доступа к координатам, таким образом без разницы в каком виде хранятся координаты.<br><br>ЗЫ. <b>XilinX</b> --- хороший ник  <!--emo&;)--><img src='http://forum.sources.ru/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif' /><!--endemo-->  ]]></description>
        <author>MeG</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258739</guid>
        <pubDate>Sat, 06 Dec 2003 16:49:54 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258739</link>
        <description><![CDATA[hFoxy:  чтото я не понял, ты что хочешь полчить доступ к этементам массива как к полям структуры ? бред какой то, без обид <!--emo&&lt;_&lt;--><img src='http://forum.sources.ru/html/emoticons/dry.gif' border='0' style='vertical-align:middle' alt='dry.gif' /><!--endemo-->  ]]></description>
        <author>hFoxy</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258738</guid>
        <pubDate>Sat, 06 Dec 2003 16:49:51 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258738</link>
        <description><![CDATA[Visitor:  <!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b></b> </td></tr><tr><td id='CODE'><!--ec1-->class A<br>{<br>public&#58;<br>double coord&#91;3&#93;;<br>};<br><br>class B &#58; public A<br>{<br>public&#58;<br>double &amp;x, &amp;y, &z;<br>B&#40;&#41; &#58; x&#40;coord&#91;0&#93;&#41;, y&#40;coord&#91;1&#93;&#41;, z&#40;coord&#91;2&#93;&#41;{};<br>};<br><br>class C &#58; public A<br>{<br>public&#58;<br>inline double &amp; x&#40;&#41;{return coord&#91;0&#93;;};<br>inline double &amp; y&#40;&#41;{return coord&#91;1&#93;;};<br>inline double &amp; z&#40;&#41;{return coord&#91;2&#93;;};<br>};<!--c2--></td></tr></table><div class='postcolor'><!--ec2--><br>Второй вариант не использует дополнительной памяти, но придется писать скобки, первый использует 3 указателя...<br><br>еще можно<br><br><!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b></b> </td></tr><tr><td id='CODE'><!--ec1-->class D<br>{<br>public&#58;<br>union __u<br>{<br>  A a;<br>  struct __s{double x, y, x;} с;<br>} c;<br>}<br>...<br>D.c.c.y = 12.0;<!--c2--></td></tr></table><div class='postcolor'><!--ec2--><br>но ето уже наглость, и она будет наказана... ]]></description>
        <author>Visitor</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258703</guid>
        <pubDate>Sat, 06 Dec 2003 15:18:45 +0000</pubDate>
        <title>C++ интересный трабл с наследованием</title>
        <link>https://forum.sources.ru/index.php?showtopic=39918&amp;view=findpost&amp;p=258703</link>
        <description><![CDATA[XilinX:  Недавно столкнулся с такой проблемой:<br>Есть базовый класс, который наследуется другим,<br>в базовом классе есть массив вещественных чисел Coord[3].<br>Я бы хотел получить доступ к этим числам из дочернего<br>класса, но не как к массиву, а как к полям структуры.<br>Например, если бы Coord находился в дочернем классе, то<br>все было бы просто:<!--c1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b></b> </td></tr><tr><td id='CODE'><!--ec1--><br>union {<br> &nbsp;struct {<br> &nbsp; &nbsp;float x, y, z;<br> &nbsp;};<br> &nbsp;float Coord&#91;3&#93;;<br>};<br><!--c2--></td></tr></table><div class='postcolor'><!--ec2--><br>Но косяк то в том, что Coord живет в базовом классе, и<br>если такую хрень в него воткнуть, то он будет содержать<br>2 массива Coord и Parent::Coord, в следствие чего размер<br>увеличится на 12 байт (в 2 раза).<br><br>Ктонибудь знает как решить эту проблему?<br>Поделитесь идеями... ]]></description>
        <author>XilinX</author>
        <category>C/C++: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	