diff --git a/exercise/01/app/app.cpp b/exercise/01/app/app.cpp
new file mode 100644
index 0000000..1848c12
Binary files /dev/null and b/exercise/01/app/app.cpp differ
diff --git a/exercise/01/app/app.vcxproj b/exercise/01/app/app.vcxproj
new file mode 100644
index 0000000..182e18e
--- /dev/null
+++ b/exercise/01/app/app.vcxproj
@@ -0,0 +1,202 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}
+ Win32Proj
+ app
+ 10.0.17134.0
+
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141
+ true
+ Unicode
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+ Use
+ Level3
+ Disabled
+ true
+ _DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ pch.h
+
+
+ Console
+ true
+ static_library.lib;dynamic_library_with_implib.lib;%(AdditionalDependencies)
+ ..\lib\$(Platform)\$(Configuration);..\dll2\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)
+
+
+ copy /Y "..\dll1\$(Platform)\$(Configuration)\dynamic_library.dll" "$(SolutionDir)\$(Platform)\$(Configuration)\"
+copy /Y "..\dll2\$(Platform)\$(Configuration)\dynamic_library_with_implib.dll" "$(SolutionDir)\$(Platform)\$(Configuration)\"
+
+
+
+
+ Use
+ Level3
+ Disabled
+ true
+ WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ pch.h
+ %(AdditionalIncludeDirectories)
+
+
+ Console
+ true
+ static_library.lib;dynamic_library_with_implib.lib;%(AdditionalDependencies)
+ %(AdditionalLibraryDirectories);..\lib\$(Platform)\$(Configuration);..\dll2\$(Platform)\$(Configuration)
+
+
+
+
+
+
+ copy /Y "..\dll1\$(Platform)\$(Configuration)\dynamic_library.dll" "$(SolutionDir)\$(Configuration)\"
+copy /Y "..\dll2\$(Platform)\$(Configuration)\dynamic_library_with_implib.dll" "$(SolutionDir)\$(Configuration)\"
+
+
+
+
+ Use
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ pch.h
+ %(AdditionalIncludeDirectories)
+
+
+ Console
+ true
+ true
+ true
+ static_library.lib;dynamic_library_with_implib.lib;%(AdditionalDependencies)
+ %(AdditionalLibraryDirectories);..\lib\$(Platform)\$(Configuration);..\dll2\$(Platform)\$(Configuration)
+
+
+
+
+
+
+ copy /Y "..\dll1\$(Platform)\$(Configuration)\dynamic_library.dll" "$(SolutionDir)\$(Configuration)\"
+copy /Y "..\dll2\$(Platform)\$(Configuration)\dynamic_library_with_implib.dll" "$(SolutionDir)\$(Configuration)\"
+
+
+
+
+ Use
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
+ true
+ pch.h
+
+
+ Console
+ true
+ true
+ true
+ static_library.lib;dynamic_library_with_implib.lib;%(AdditionalDependencies)
+ ..\lib\$(Platform)\$(Configuration);..\dll2\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)
+
+
+ copy /Y "..\dll1\$(Platform)\$(Configuration)\dynamic_library.dll" "$(SolutionDir)\$(Platform)\$(Configuration)\"
+copy /Y "..\dll2\$(Platform)\$(Configuration)\dynamic_library_with_implib.dll" "$(SolutionDir)\$(Platform)\$(Configuration)\"
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
\ No newline at end of file
diff --git a/exercise/01/app/app.vcxproj.filters b/exercise/01/app/app.vcxproj.filters
new file mode 100644
index 0000000..cffaa85
--- /dev/null
+++ b/exercise/01/app/app.vcxproj.filters
@@ -0,0 +1,30 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;ipp;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Header Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+
\ No newline at end of file
diff --git a/exercise/01/app/pch.cpp b/exercise/01/app/pch.cpp
new file mode 100644
index 0000000..a38f8a3
Binary files /dev/null and b/exercise/01/app/pch.cpp differ
diff --git a/exercise/01/app/pch.h b/exercise/01/app/pch.h
new file mode 100644
index 0000000..d87432d
Binary files /dev/null and b/exercise/01/app/pch.h differ
diff --git a/exercise/01/e01.sln b/exercise/01/e01.sln
index fb6ce37..2b9cd47 100644
--- a/exercise/01/e01.sln
+++ b/exercise/01/e01.sln
@@ -1,66 +1,120 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.28010.2036
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "static_library", "lib\static_library.vcxproj", "{990D865F-0DF2-40ED-8622-8DD0DB4A2128}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "app", "app\app.vcxproj", "{843D77A9-6E04-4515-91D5-A010A5CDF8E0}"
- ProjectSection(ProjectDependencies) = postProject
- {92DBD108-3D52-419D-BC33-217327A4AD9D} = {92DBD108-3D52-419D-BC33-217327A4AD9D}
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128} = {990D865F-0DF2-40ED-8622-8DD0DB4A2128}
- {4EA09877-C87B-489E-9F80-A921D8E66E46} = {4EA09877-C87B-489E-9F80-A921D8E66E46}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamic_library", "dll1\dynamic_library.vcxproj", "{92DBD108-3D52-419D-BC33-217327A4AD9D}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamic_library_with_implib", "dll2\dynamic_library_with_implib.vcxproj", "{4EA09877-C87B-489E-9F80-A921D8E66E46}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
- Release|x64 = Release|x64
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Debug|x64.ActiveCfg = Debug|x64
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Debug|x64.Build.0 = Debug|x64
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Debug|x86.ActiveCfg = Debug|Win32
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Debug|x86.Build.0 = Debug|Win32
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Release|x64.ActiveCfg = Release|x64
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Release|x64.Build.0 = Release|x64
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Release|x86.ActiveCfg = Release|Win32
- {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Release|x86.Build.0 = Release|Win32
- {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Debug|x64.ActiveCfg = Debug|x64
- {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Debug|x64.Build.0 = Debug|x64
- {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Debug|x86.ActiveCfg = Debug|Win32
- {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Debug|x86.Build.0 = Debug|Win32
- {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Release|x64.ActiveCfg = Release|x64
- {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Release|x64.Build.0 = Release|x64
- {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Release|x86.ActiveCfg = Release|Win32
- {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Release|x86.Build.0 = Release|Win32
- {92DBD108-3D52-419D-BC33-217327A4AD9D}.Debug|x64.ActiveCfg = Debug|x64
- {92DBD108-3D52-419D-BC33-217327A4AD9D}.Debug|x64.Build.0 = Debug|x64
- {92DBD108-3D52-419D-BC33-217327A4AD9D}.Debug|x86.ActiveCfg = Debug|Win32
- {92DBD108-3D52-419D-BC33-217327A4AD9D}.Debug|x86.Build.0 = Debug|Win32
- {92DBD108-3D52-419D-BC33-217327A4AD9D}.Release|x64.ActiveCfg = Release|x64
- {92DBD108-3D52-419D-BC33-217327A4AD9D}.Release|x64.Build.0 = Release|x64
- {92DBD108-3D52-419D-BC33-217327A4AD9D}.Release|x86.ActiveCfg = Release|Win32
- {92DBD108-3D52-419D-BC33-217327A4AD9D}.Release|x86.Build.0 = Release|Win32
- {4EA09877-C87B-489E-9F80-A921D8E66E46}.Debug|x64.ActiveCfg = Debug|x64
- {4EA09877-C87B-489E-9F80-A921D8E66E46}.Debug|x64.Build.0 = Debug|x64
- {4EA09877-C87B-489E-9F80-A921D8E66E46}.Debug|x86.ActiveCfg = Debug|Win32
- {4EA09877-C87B-489E-9F80-A921D8E66E46}.Debug|x86.Build.0 = Debug|Win32
- {4EA09877-C87B-489E-9F80-A921D8E66E46}.Release|x64.ActiveCfg = Release|x64
- {4EA09877-C87B-489E-9F80-A921D8E66E46}.Release|x64.Build.0 = Release|x64
- {4EA09877-C87B-489E-9F80-A921D8E66E46}.Release|x86.ActiveCfg = Release|Win32
- {4EA09877-C87B-489E-9F80-A921D8E66E46}.Release|x86.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {D6B8F75A-8322-45FC-87C0-577EA4FE9944}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28010.2036
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "static_library", "lib\static_library.vcxproj", "{990D865F-0DF2-40ED-8622-8DD0DB4A2128}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "app", "app\app.vcxproj", "{843D77A9-6E04-4515-91D5-A010A5CDF8E0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {92DBD108-3D52-419D-BC33-217327A4AD9D} = {92DBD108-3D52-419D-BC33-217327A4AD9D}
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128} = {990D865F-0DF2-40ED-8622-8DD0DB4A2128}
+ {4EA09877-C87B-489E-9F80-A921D8E66E46} = {4EA09877-C87B-489E-9F80-A921D8E66E46}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamic_library", "dll1\dynamic_library.vcxproj", "{92DBD108-3D52-419D-BC33-217327A4AD9D}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dynamic_library_with_implib", "dll2\dynamic_library_with_implib.vcxproj", "{4EA09877-C87B-489E-9F80-A921D8E66E46}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "p01", "..\..\example\01\p01.vcxproj", "{8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ DebugU|x64 = DebugU|x64
+ DebugU|x86 = DebugU|x86
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ ReleaseU|x64 = ReleaseU|x64
+ ReleaseU|x86 = ReleaseU|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Debug|x64.ActiveCfg = Debug|x64
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Debug|x64.Build.0 = Debug|x64
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Debug|x86.ActiveCfg = Debug|Win32
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Debug|x86.Build.0 = Debug|Win32
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.DebugU|x64.ActiveCfg = Debug|x64
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.DebugU|x64.Build.0 = Debug|x64
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.DebugU|x86.ActiveCfg = Debug|Win32
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.DebugU|x86.Build.0 = Debug|Win32
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Release|x64.ActiveCfg = Release|x64
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Release|x64.Build.0 = Release|x64
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Release|x86.ActiveCfg = Release|Win32
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.Release|x86.Build.0 = Release|Win32
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.ReleaseU|x64.ActiveCfg = Release|x64
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.ReleaseU|x64.Build.0 = Release|x64
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.ReleaseU|x86.ActiveCfg = Release|Win32
+ {990D865F-0DF2-40ED-8622-8DD0DB4A2128}.ReleaseU|x86.Build.0 = Release|Win32
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Debug|x64.ActiveCfg = Debug|x64
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Debug|x64.Build.0 = Debug|x64
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Debug|x86.ActiveCfg = Debug|Win32
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Debug|x86.Build.0 = Debug|Win32
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.DebugU|x64.ActiveCfg = Debug|x64
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.DebugU|x64.Build.0 = Debug|x64
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.DebugU|x86.ActiveCfg = Debug|Win32
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.DebugU|x86.Build.0 = Debug|Win32
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Release|x64.ActiveCfg = Release|x64
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Release|x64.Build.0 = Release|x64
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Release|x86.ActiveCfg = Release|Win32
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.Release|x86.Build.0 = Release|Win32
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.ReleaseU|x64.ActiveCfg = Release|x64
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.ReleaseU|x64.Build.0 = Release|x64
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.ReleaseU|x86.ActiveCfg = Release|Win32
+ {843D77A9-6E04-4515-91D5-A010A5CDF8E0}.ReleaseU|x86.Build.0 = Release|Win32
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.Debug|x64.ActiveCfg = Debug|x64
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.Debug|x64.Build.0 = Debug|x64
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.Debug|x86.ActiveCfg = Debug|Win32
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.Debug|x86.Build.0 = Debug|Win32
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.DebugU|x64.ActiveCfg = Debug|x64
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.DebugU|x64.Build.0 = Debug|x64
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.DebugU|x86.ActiveCfg = Debug|Win32
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.DebugU|x86.Build.0 = Debug|Win32
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.Release|x64.ActiveCfg = Release|x64
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.Release|x64.Build.0 = Release|x64
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.Release|x86.ActiveCfg = Release|Win32
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.Release|x86.Build.0 = Release|Win32
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.ReleaseU|x64.ActiveCfg = Release|x64
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.ReleaseU|x64.Build.0 = Release|x64
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.ReleaseU|x86.ActiveCfg = Release|Win32
+ {92DBD108-3D52-419D-BC33-217327A4AD9D}.ReleaseU|x86.Build.0 = Release|Win32
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.Debug|x64.ActiveCfg = Debug|x64
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.Debug|x64.Build.0 = Debug|x64
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.Debug|x86.ActiveCfg = Debug|Win32
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.Debug|x86.Build.0 = Debug|Win32
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.DebugU|x64.ActiveCfg = Debug|x64
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.DebugU|x64.Build.0 = Debug|x64
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.DebugU|x86.ActiveCfg = Debug|Win32
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.DebugU|x86.Build.0 = Debug|Win32
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.Release|x64.ActiveCfg = Release|x64
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.Release|x64.Build.0 = Release|x64
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.Release|x86.ActiveCfg = Release|Win32
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.Release|x86.Build.0 = Release|Win32
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.ReleaseU|x64.ActiveCfg = Release|x64
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.ReleaseU|x64.Build.0 = Release|x64
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.ReleaseU|x86.ActiveCfg = Release|Win32
+ {4EA09877-C87B-489E-9F80-A921D8E66E46}.ReleaseU|x86.Build.0 = Release|Win32
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.Debug|x64.ActiveCfg = Debug|x64
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.Debug|x64.Build.0 = Debug|x64
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.Debug|x86.ActiveCfg = Debug|Win32
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.Debug|x86.Build.0 = Debug|Win32
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.DebugU|x64.ActiveCfg = DebugU|x64
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.DebugU|x64.Build.0 = DebugU|x64
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.DebugU|x86.ActiveCfg = DebugU|Win32
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.DebugU|x86.Build.0 = DebugU|Win32
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.Release|x64.ActiveCfg = Release|x64
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.Release|x64.Build.0 = Release|x64
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.Release|x86.ActiveCfg = Release|Win32
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.Release|x86.Build.0 = Release|Win32
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.ReleaseU|x64.ActiveCfg = ReleaseU|x64
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.ReleaseU|x64.Build.0 = ReleaseU|x64
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.ReleaseU|x86.ActiveCfg = ReleaseU|Win32
+ {8D72DE6B-17DF-4E55-BAF3-FA87112DCF57}.ReleaseU|x86.Build.0 = ReleaseU|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {D6B8F75A-8322-45FC-87C0-577EA4FE9944}
+ EndGlobalSection
+EndGlobal
diff --git a/exercise/02/code.cpp b/exercise/02/code.cpp
index 85e778c..a0d21f8 100644
--- a/exercise/02/code.cpp
+++ b/exercise/02/code.cpp
@@ -1,2 +1,17 @@
#include "stdafx.h"
#include "code.h"
+
+void f1 (int &a, int& b)
+{
+ int temp = a;
+ a = b;
+ b = temp;
+}
+
+void f2(int* const begin, int* const end)
+{
+ for (auto i=begin; i < end; ++i)
+ {
+ ++*i;
+ }
+}
\ No newline at end of file
diff --git a/exercise/02/code.h b/exercise/02/code.h
index e69de29..2b8efcb 100644
--- a/exercise/02/code.h
+++ b/exercise/02/code.h
@@ -0,0 +1,5 @@
+#pragma once
+
+void f1(int& a, int& b);
+
+void f2(int* begin, int* end);
\ No newline at end of file
diff --git a/exercise/02/test1.cpp b/exercise/02/test1.cpp
index 33dfab7..29b52ae 100644
--- a/exercise/02/test1.cpp
+++ b/exercise/02/test1.cpp
@@ -14,14 +14,14 @@ namespace simple_test
TEST_METHOD(f1_changes_values)
{
int a=1, b=2;
- //f1(a, b);
+ f1(a, b);
Assert::AreEqual(2, a);
Assert::AreEqual(1, b);
}
TEST_METHOD(f2_increases_all_values_by_one)
{
int arr[] = { 1, 2, 3 };
- //f2(arr, arr+3);
+ f2(arr, arr+3);
Assert::AreEqual(2, arr[0]);
Assert::AreEqual(3, arr[1]);
Assert::AreEqual(4, arr[2]);
@@ -29,7 +29,7 @@ namespace simple_test
TEST_METHOD(f2_works_for_different_number_of_values)
{
int arr[] = { 2, 4, 6, 8, 10 };
- //f2(arr, arr+5);
+ f2(arr, arr+5);
Assert::AreEqual(3, arr[0]);
Assert::AreEqual(5, arr[1]);
Assert::AreEqual(7, arr[2]);