Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programando em C++ Joel Saade Novatec Editora Ltda. www.novateceditora.com.br �� ��������� � �� � Capítulo 1 Introdução ����� ������ �� ���$����� ���3 ���$���0���9 ����������������"� ������������ ��� ��3#�� ������� � � �������$� ������ ��� ���# � ��� �� ������� ������� ����������� �� � �����5 �� � �� ���� �������� ���� �� � �����������$����� ������ ���9 ��$� � � ��� ����������� �� �������������� ���� ���� ����� � ��������� Histórico da linguagem C "�������������� �������� ������� ��������5��T�� 0��$�� ��@�3 ��9 � ��H���$�� ���� � ��� �� �������&'U)$������ �� �3��0����� �� ��� ���������� ������� �� �?��/$������� ��������*�� ������ ������ �!�!.&&����������������������� � ��� ��F���G��!� ���� ���� ������ �������� �� � � ���$����� ���# � ������������������� � ����� � � ���$������ ��*���� 9��� � ��� � $�� � ����� #��� �������� �� ��� �0� �-� ���������� ����� ���������3 � ������������"����3�K��������������� ���������� ���������$��� ��� ��� ���������������*#.��$ � ��� �?��/� �� � ��� ��� �� �R������� ������0� �-� �� ��������������� ������� ���� ��" � � ����� ����������� �?��/� � �����/� ���� �����# ���������� �������0� �-� �������� �� ������������������������������ �3������������ �4� �����������������������3��/ . ������F � � �"����3�KG������ ��3������������������������������� .�������>����� ���/� $ ��������������� �� ����� "� ������������0� � �� ������� �� � � �� ���� ��� ��� �� ��� ����������� ���� � ����� $ � �����������������������H�!@$� ��������&'(U�� �5� ����T� 0� ��$����������������H$ ������ �V���80 ��� �����&'U)� ���&'U+$�� ����3�� �� � ���� ��� � �������� �� ������� $����H ����A��V� ���0����������� 5��T�� 0��$� ��������� .�������������� ���� � ����������������������� ���� ���� �� ��� � �0� ���� � �/W0���F� ��� 3 �� ������������ ��� ��$�/� ���0�����0�� 0��G��� � �� ���������������0 ��� ���� ������������� ������� �����$� �"�� � ���>��� ���������� �� X���������F">�XG� � �$����&'+E$���� ���4��� ������3��� � ������� � $� � ���� ����&'+'�� ��� ����� �12�$ ���"�9������3�� ��� ���������� � $� �VWT����� �� �0� �� � � �� �#��� � �� Histórico e características de C++ "��/���� ���������������$��������3���� �������� ������� ��@�3 ��9 � ��H���$�� �H�� �� �� ��� ���� ���� � ������ �������&'+)$� ����� ���� ���� �� ���3� �������&'+,������3�����. ������ �����������$� ������� �� ��� ������ � � �� � � �� ���� ������ ������� ��� 3��� �$ 0� ��������������������������(U��"����$��/ ����� .��������0��$���� ��.��������3 ����� ��������X�� ���� ���*� ����$����� � �����������3������� � �������� C++ C � � ������ � �.��� ������������������������������ ��������*��� $����&'')$� �">�X� � � ��� ���4$� 0���� �">�X�YE�&($� �� � 3����� �� �������� ��� ������� � ��� �������@ � $ ��X��� ���� ���� ����*��� ��� ������� ��*��� ��FX� G$� ����� ���4�� 9� � $� 0���� X� .AB.7&$�����.���� �">�X� �� ����� � 3����� ����������� ��� �0� ���� � � ���4 ">�XDX� ��������&'')$������ ���4�������3�� �� �� ����� �$� 0���� ��� ��������� ��� F��G$� ��� ������R���� ��*��� ������3 ������&'',$�� ����3� �� � �� ���� �� ����� ���� ��*��3 ����&''($� � �� ��3� �� � � ������ �� ����� $����� ��� ��*��� � � � �$� � �/ ��%��$� ���������� �� �� �8@� F������ ��8�������� @�3 � KG�� ���� � � ���� �� � ���� �����$ ��� ����� � X� DX��� &Z++7<&''+$� � �� �� ��� � ��� &''+� ����� X� $� ��� � X��� ���� ��� ��� � �� 0�� ���� ��������FX��G������ �">�X� ���������� �������������� �9��� ���� ���� ������ ����4� ����� �� ��� � ����� ��� ��������$�������� ���� � ����� ����3��/ .������� ��� ����� � ��� � ����$��3�� ��� ��� ��� ���� ������� ��� 3��� ��������� �������������������� ����� �R������������$������ � �� ��� ��� ���� ��� ����� ���� �*��� $� ����� ����������0 �������� �� ����� �������� ���39�� ��$� ����%��� ������$� � ������ �.�������� �� �� ����%��$� � 3 � � ��� ��� ����%��$ �� �� �������� �� ������ ����� ��*���������� ��F� ����� �G$� ��� 4� ������ � ����� ���� � �� ��3 �����������*����3�3�� �� �.��� � ������F������������ ���� � �">�X��G$� ���� ����� 3�3�� �� ����������� ��� �$���3�3�� �� �.��� � ���� ������� �� ����������� ������ � �� �� ������ ����� �F..G���������������$�������� � ���&�� ��� ���������� �#��������$����� $����� �������� �� ���������������� ������ � � ! "���� �#$� �� ��������� � �� � Estrutura de um programa C++ "���� ��� ��3#�� ��������� � �����������������< 3����% � 4 ��� 5 %���� ��������� ���6 ���� ����78 9 ����� � � : 3�� ���%��< � 3����% � ��*� ��� 4� ��������� ���� . �3����0 = � %���� ���������� ��� �.���R������*��� �������������� �= � � ������� �� ���� ������� ����� � �� ��� ����������� �����78= � ����78������������ � 3 ����9 ������� � ����������8 � �� � �������������/� ��� ��� ������ �������������������������� ���*��� $�� ��������78��� �� � ������ ���� �. ��� ������� �������� � ���= � 9 � :����� ��$� ���� � ��� ������������� �����78� "������ $�����/���� ����� � �������� �� ������������ 3����% � 4��������5 %���� ��������� �� 6 ��� ����78 9 �� ;)��� %�� #���� �� ���� ��%� 44 <��% �������� �������� �..� � ����=%��>���?��@6 ���%�� A6 : ������ � ���$���3 �� ����� $��� �� ����� ��/� ���� ��[�� � �� ������ ��������������� ������� ������\.����� ��� ���������� ������� � �����/� ��#���� � > ���3�����������$�������< ��� � ������������ ������������$ �)) � ����������)� ���������� > ���3������@���/$������� �.. ������������ � �������� !� ���/� ��#.� $������� �������� � Resultado da execução do programa ��% �������� �������� �..� � ����=%��>���? �� 3�� ���%��< � >�����0��3����% � 4��������5$���������������� ���� . �3����0 � � >�����0��%���� ��������� �� 6$��� ������������� �� � >�����0����� ����78$������� ���� �� ���� ����� � �� ��� ����������� �����78��[� 3 ����9. � � � "����0���� ;)��� %�� #���� �� ���������� ����# � ��?�� ����# � ����������� �� ��� �� � � �� ������������� �� ���� � ������ ��! ����� ��� �� ���9����� ���� � � ��%������� 3��� �������������/�3����� ���%�����������.��� � �� ��������� �� � � ��� F� ��������$� �� ��� G� � "����0�����%�� A6��� � �����/� ��� ��������� �����78� �� ���� ���� �� � �)�� ���� ����%������� ���# � �� ���� ���� ���� �� � ��� 3 ����9 � � � "�����0������ ���� ���� ������ �� � � � �� ��6�F� �� .�.�� ����G� 5������� ���%���� 3 �� ���� $� ������� ������\.����� ����� � ����������� ��� �� ���� � �������������� ���� � �� ���� � �� ��������������� ���� ��� � ���� ���������$��#���]&' ��7)� Arquivos-cabeçalho �� �� ���� ������ ��4��� �9��� ���������%��$��������%�������� �$��� �� ��%��������� �$ ������ ��� ��$���� ������������ ��������$��� ���# � ��R������%������3�3�� �� ��������� ��� ���� �. �3����0 ��� �� ����� ������������������ � �R� ������� � 0������� �. � �������� ���� � ���� �� ��� � ��� � �� �� � ���.� �������������� �. 0����3����% �$ ��� ������� �� ������� ����� �� ������ �� ���� � � � � ���.� ���� � � ���� . �3����0 ���� ��� �� ��?��� � ����� �� #� ��� ������ ��� ���� �. �3����0 �� ����� ���# � �� ?��� � ���� �� �� #� �� ������� ���� �. �3����0 � "��� ������3����% ��� ������ ���� ����< Formato Significado #include <xxx> O arquivo-cabeçalho xxx será procurado no diretório-padrão de arquivos-cabeçalho. #include "xxx" O arquivo-cabeçalho xxx será procurado no diretório corrente, e se não for encontrado, no diretório-padrão de arquivos-cabeçalho. Nomes de arquivos-cabeçalho �� ������ �������� �������# � ��� ���� �. �3����0 $� ������� ������������������" �����*��� ��������� ���� ������ ���������������������X�� ��������$������������ ����� ����0 �� �*��� $�� ��/���� $� �� ���� . �3����0 �������������>���� ��� ����� ����� �� ���� $��������/����������*� ��/����%��$� �� ��� ����/����� ���� ��� ������ ��� ���� �. �3����0 ���������������$������ � ������������3���� ���������*� ��"����$� �� ���� . �3����0 ���������������������� � 0��� ���������� ������ � � ! "���� �#$� �� ��������� � �� � ��� ���� �. �3����0 ���� �����������$����� � ��� ��� ��� ���� �������*��� � �����$ � �3� ��� �� ���/ ������������ ���$�� ��/���� $���B��������� ������� 0��� ����B���� � � ���� �. �3����0 ���������� �� ��� ���$������� � � ������� � � � ��� <�������� �� Arquivo-cabeçalho Extensão Exemplo Programas que utilizam C .h ctype.h C/C++ C++ (padrão antigo) .h iostream.h C++ C++ (novo padrão) Não há iostream C++ com namespace Convertido Não há cctype (prefixo c) C++ Namespaces: uma introdução X������������ ��/�������� ��������F ��/��&��� ��/��7G$� �������� ����������������� �������< �� ��� ������ �����"��������*<�:!����� ��� ��� ;������������ �����<�: ��� ��� ���� ��/��&� � ��� ��/��7^;$�� ����/�������� ������������������ ��/�������� ������������ �������> ��.�� ������� � �� ������ ����� ���������� � ������ ����������� ������������ ��/����"����$� ����� �� �� ����� ����� �������������� ��<�:!����� ��� ��� ���� ��/��&;� ��:!����� ��� ��� ��� ��/��7;������ ����� ���$�� �� ����� � ��������� ������ ���������� ����� ���������< �� ������:����� ����;������� �� �� ������:��������#� ���� ;$����� $����)�-��������� �����)�(����������� ������� � �����0����� ������ � ��������$��� � ���� ��� ��� ��� ����$����� ��� �����������%��$��� �#����$���� ��� ����� ������� �������������� � ���$� � ��-� �������� �� ����� � ��������� ������� �� � � ��� $���3 � �� �� � ����������$��� �#����$�����%��$���� ��� ����� ������� �� ������ ��� ���$������� ����������������������*��� $����� ������ ����� ������� $�� ��� � ������ ��� ���3� ������� �����������*� ��"������*��� ����������� ����������� � ����� ���� ��� ����F�������� �� ��G ������$��� ������ ����������������*�� �����0� � �����!� ������� � $���� �0��������������� ����� $� 0����������%���$� ��������� ����� �������� ��-� �������� �������������������� ������ ��� ����0�� ������������ �<�����-�������(������ ��� �������*� �������� � �� ��� $ �� � ��� ���# �������� ���%�� ����-������%���7�����-86 � ����(������%���7�����'86 �� �������������*� � ����������������%��� >������ ���� ��� � � ������� �������� �� �������� �L�� ��� �� � ��� �� 3������� ����� ����� ����������� O namespace std > ���# � ��� ���� �. �3����0 $�0#� �������� ���� $� �������� �������� �� ���# � ��������� � �������� �� 3������������� �$� � �� ��/���� $� �� 3��� ����������%�� �� � �������������� �� ���������*��� �� �������� ��� �������� ��� ��> � �� $�� � �� � � ����������������� ���� ������� ������� �� ������A-���� 3����% � 4��������5 %���� ��������� �� 6 �� ��� ����78 9 ��� � � �6 ��%� 44 <������ � �%� � � �� <6 ��� 55 � � �6 ��%� 44 <C��D ��� < 44 � � � 44 < ���� � � � �@ 44 <��@6 ���%�� A6 : � Resultado da execução do programa ������ � �%� � � �� �� C��D ��� (E ���� � � � � 5������� ���%���� 3 ��������� ����� ��� �� ������ ��������� � ����� � � � �!� � ��� ���� �� Etapas para a criação de um programa ?��� � �������$� � � �� ��/���� ����� � $������ ����� �� � ���.� ����F�/����� ����G$������� �� ����� ��/� ���� ���� � ������ ��� �� �� � ���.� ���� � ���� $ �� � ��� ���# ������������������ ������ ����� �� ��.������� � �����/� ��#���< � � ������� <��/� ��� �������� � ����F � ������ G��� ��� ���*� � �� � ���.� ��� ��� 0������:��������������#�����;�� �� � ���� ��������������� ����� �� � ���. 3��� �F�/����� ���G� � @��\.����� <��/� ��� �������� � ����F ����\� G��� ������ �� �� � ���. 3��� $� 9��� . 3��� ��������%��������*������� �����.��� � ������� ����*��� �� �� � ���� ����������� ��� ����� �� � �����/� ��#�����[�� ����������3������\� ��# � ��� � ����. 3��� �� �� �� ����L�� �� � �����/� ��#���$�������� ��%��������� � �����B ��� ������< Programa-fonte Compilador Programa-objeto Linker Programa executável Código-objeto de funções Rotinas-padrão ������ � � ! "���� �#$� �� ��������� � �� � Como compilar e linkar programas � ������� ������\.����� � ��������������������������������!� ������ $����� ���# � ��/� ��� � ������ �������������$� ����\� � Compilação de um único programa ��� �� � �� � ���.� ����������A-����$�� ��/���� ����� � � � > ���3����������� !� �� ����� $�������< ��� � ������A-���� >� �0����� �� ��� �� � ����������A-����$��� #� ��� � �� � ���. 3��� �������A-��� !� �����\� $�������< �)) � ������A-��)� ������A-�� �� #� ��� � �� � �����/� ��#����������A-��)�� � > ���3������@���/ !� �� ����� ������\� $�������< �.. ������A-���� � ������A- �� #� ��� � �� � �����/� ��#����������A-� Compilação de vários programas ��� �� � ��� � ����.� ��������A-�����������A(����� � > ���3����������� !� �� ����� $�������< ��� � ����A-���� ����A(���� >� �0����� �� ��� ��� � ���������A-�����������A(����$� �� � � ��� �� ��� � �. ���. 3��� �����A-���������A(��� !� �����\� $�������< �)) � ����EE��)� ����A-�� ����A(�� �� #� ��� � �� � �����/� ��#��������EE��)�� � > ���3������@���/ !� �� ����� ������\� $�������< �.. ����A-���� ����A(���� � ����EE �� #� ��� � �� � �����/� ��#��������EE� Automatizando a compilação e a link-edição de programas > ���3�����������$��� ������� ����������� �������������0��$���� ������� �� ����� ���� ����� �� ����� ����*� ��� ������� ���������\.����� � �� � ������� ���� .��/� � 0���� $�� ��/���� $�������� �� � ���������� ���L� < �F� ��� � G-���� $H 2�" ;I$�" G-�� +�"� #�� �)) � G-��)� G-�� �#�� !� �� ����� ������\� ������� � ����$������������� �� ���� �� � ���.� ���$��������/����� $ � ����#����#�� �� ���� �������< �� ����A- Teste seus conhecimentos &� �� ����:P;��� ���������������������:_;��� �������������� ����� ��� &� "�������������� �������� ������� ����3 ��9 � �����S�-����.!� \� ��FS!G��F]]]G 7� "�� ���� ���� �� �������������������3����� �0� ���� � �VWT����F]]]G E� "���������������� �������� ������� ��@�3 ��9 � ��H���$�� �H�� ����� ��� ����F]]]G Z� ">�X���������� ������ ������R���������������9����������� ��*��� ���� �">�X��F]]]G ,� � ���� ���� �������$���������������� ��.��������3 ����� ���������F]]]G (� "������ �����78��� � � �������� � ����������F]]]G U� 3����% ���������� �����������*���������������� �.� �������� ��F]]]G +� ��� ����������� ����� ����������������� �� ���������������������*�� ������ ����� ���F]]]G '� ��� ���� �. �3����0 ��� �� ����� �������������� �.� �������� ��F]]]G &)� !� ���������� � ��������� ������ ��/� ���� $�� ���������� ������� ��������� ���\.����� �� ������� ��F]]]G &&� ?��� � ���������� �� ���� �� � ���� ������ ����� �� � ���. 3��� ��F]]]G ������ � � ! "���� �#$�
Compartilhar