<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EC%82%BC%EC%B4%9D%EC%82%ACCppStudy%2F%EC%88%99%EC%A0%9C2%2F%EA%B3%BD%EC%84%B8%ED%99%98</id>
	<title>삼총사CppStudy/숙제2/곽세환 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EC%82%BC%EC%B4%9D%EC%82%ACCppStudy%2F%EC%88%99%EC%A0%9C2%2F%EA%B3%BD%EC%84%B8%ED%99%98"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%82%BC%EC%B4%9D%EC%82%ACCppStudy/%EC%88%99%EC%A0%9C2/%EA%B3%BD%EC%84%B8%ED%99%98&amp;action=history"/>
	<updated>2026-05-15T04:18:53Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EC%82%BC%EC%B4%9D%EC%82%ACCppStudy/%EC%88%99%EC%A0%9C2/%EA%B3%BD%EC%84%B8%ED%99%98&amp;diff=52353&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:29, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EC%82%BC%EC%B4%9D%EC%82%ACCppStudy/%EC%88%99%EC%A0%9C2/%EA%B3%BD%EC%84%B8%ED%99%98&amp;diff=52353&amp;oldid=prev"/>
		<updated>2021-02-07T05:29:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 #include &amp;amp;lt;cmath&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 class CVector&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	double cx, cy, cz;&lt;br /&gt;
 public:&lt;br /&gt;
 	CVector();&lt;br /&gt;
 	CVector(double x, double y, double z);&lt;br /&gt;
 	void SetVector(double x, double y, double z);&lt;br /&gt;
 	CVector operator+(CVector v);&lt;br /&gt;
 	CVector operator-(CVector v);&lt;br /&gt;
 	CVector operator*(double s);&lt;br /&gt;
 	CVector operator*(CVector v);&lt;br /&gt;
 	double operator^(CVector v);&lt;br /&gt;
 	void Normalize();&lt;br /&gt;
 	double Length();&lt;br /&gt;
 	double GetX();&lt;br /&gt;
 	double GetY();&lt;br /&gt;
 	double GetZ();&lt;br /&gt;
 	void ShowVector();&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	CVector v1(10, 20, 30);&lt;br /&gt;
 	CVector v2(50, 60, 70);&lt;br /&gt;
 	CVector v3;&lt;br /&gt;
 	&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1 : &amp;quot;;&lt;br /&gt;
 	v1.ShowVector();&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v2 : &amp;quot;;&lt;br /&gt;
 	v2.ShowVector();&lt;br /&gt;
 &lt;br /&gt;
 	v3 = v1 + v2;&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1 + v2 : &amp;quot;;&lt;br /&gt;
 	v3.ShowVector();&lt;br /&gt;
 &lt;br /&gt;
 	v3 = v1 - v2;&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1 - v2 : &amp;quot;;&lt;br /&gt;
 	v3.ShowVector();&lt;br /&gt;
 &lt;br /&gt;
 	v3 = v1 * 5;&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1 * 5 : &amp;quot;;&lt;br /&gt;
 	v3.ShowVector();&lt;br /&gt;
 &lt;br /&gt;
 	v3 = v1 * v2;&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1과 v2의 외적 : &amp;quot;;&lt;br /&gt;
 	v3.ShowVector();&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1과 v2의 내적 : &amp;quot; &amp;amp;lt;&amp;amp;lt; (v1 ^ v2) &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1의 길이 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v1.Length() &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 &lt;br /&gt;
 	v1.Normalize();&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1의 초기화 : &amp;quot;;&lt;br /&gt;
 	v1.ShowVector();&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector::CVector()&lt;br /&gt;
 {&lt;br /&gt;
 	cx = cy = cz = 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector::CVector(double x, double y, double z)&lt;br /&gt;
 {&lt;br /&gt;
 	SetVector(x, y, z);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void CVector::SetVector(double x, double y, double z)&lt;br /&gt;
 {&lt;br /&gt;
 	cx = x;&lt;br /&gt;
 	cy = y;&lt;br /&gt;
 	cz = z;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector CVector::operator+(CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	CVector temp(cx + v.GetX(), cy + v.GetY(), cz + v.GetZ());&lt;br /&gt;
 	return temp;&lt;br /&gt;
 }	&lt;br /&gt;
 	&lt;br /&gt;
 CVector CVector::operator-(CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	CVector temp;&lt;br /&gt;
 	temp.SetVector(cx - v.GetX(), cy - v.GetY(), cz - v.GetZ());&lt;br /&gt;
 	return temp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector CVector::operator*(double s)&lt;br /&gt;
 {&lt;br /&gt;
 	CVector temp(cx * s, cy * s, cz * s);&lt;br /&gt;
 	return temp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector CVector::operator*(CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	CVector temp(cy * v.GetZ() - cz * v.GetY(), cz * v.GetX() - cx * v.GetZ(), cx * v.GetY() - cy * v.GetX());&lt;br /&gt;
 	return temp;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 double CVector::operator^(CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	return cx * v.GetX() + cy * v.GetY() + cz * v.GetZ();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void CVector::Normalize()&lt;br /&gt;
 {&lt;br /&gt;
 	cx = cy = cz = 1;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 double CVector::Length()&lt;br /&gt;
 {&lt;br /&gt;
 	return sqrt(cx * cx + cy * cy + cz * cz);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 double CVector::GetX()&lt;br /&gt;
 {&lt;br /&gt;
 	return cx;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 double CVector::GetY()&lt;br /&gt;
 {&lt;br /&gt;
 	return cy;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 double CVector::GetZ()&lt;br /&gt;
 {&lt;br /&gt;
 	return cz;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void CVector::ShowVector()&lt;br /&gt;
 {&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;x = &amp;quot; &amp;amp;lt;&amp;amp;lt; cx &amp;amp;lt;&amp;amp;lt; &amp;quot;, y = &amp;quot; &amp;amp;lt;&amp;amp;lt; cy &amp;amp;lt;&amp;amp;lt; &amp;quot;, z = &amp;quot; &amp;amp;lt;&amp;amp;lt; cz &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 진짜 잘하네요.. ^_^ 단한개를 지적하자면 스칼라값을 곱할때 v3 = 5 * v1; 이 안된다는것 정도겠네요... 이런건 friend함수를 한개정도 더 만들어주면 됩니다.&lt;br /&gt;
&lt;br /&gt;
= 수정판 2번째 =&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 #include &amp;amp;lt;cmath&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 class CVector&lt;br /&gt;
 {&lt;br /&gt;
 private:&lt;br /&gt;
 	double cx, cy, cz;&lt;br /&gt;
 public:&lt;br /&gt;
 	CVector();&lt;br /&gt;
 	CVector(double x, double y, double z);&lt;br /&gt;
 	void SetVector(double x, double y, double z);&lt;br /&gt;
 	CVector operator+(CVector v);&lt;br /&gt;
 	CVector operator-(CVector v);&lt;br /&gt;
 	CVector operator*(double s);&lt;br /&gt;
 	CVector operator*(CVector v);&lt;br /&gt;
 	double operator^(CVector v);&lt;br /&gt;
 	void Normalize();&lt;br /&gt;
 	double Length();&lt;br /&gt;
 	friend CVector operator*(double s, CVector v);&lt;br /&gt;
 	friend ostream &amp;amp;amp; operator&amp;amp;lt;&amp;amp;lt;(ostream &amp;amp;amp; os, CVector v);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	CVector v1;&lt;br /&gt;
 	v1.SetVector(10, 20, 30);&lt;br /&gt;
 	CVector v2(50, 60, 70);&lt;br /&gt;
 	CVector v3;&lt;br /&gt;
 	&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v1 &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v2 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v2 &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	&lt;br /&gt;
 	v3 = v1 + v2;&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1 + v2 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v3 &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1 - v2 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v1 - v2 &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1 * 5 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v1 * 5 &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;5 * v1 : &amp;quot; &amp;amp;lt;&amp;amp;lt; 5 * v1 &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1과 v2의 외적 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v1 * v2 &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1과 v2의 내적 : &amp;quot; &amp;amp;lt;&amp;amp;lt; (v1 ^ v2) &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1의 길이 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v1.Length() &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 &lt;br /&gt;
 	v1.Normalize();&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;v1의 초기화 : &amp;quot; &amp;amp;lt;&amp;amp;lt; v1 &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector::CVector()&lt;br /&gt;
 {&lt;br /&gt;
 	cx = cy = cz = 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector::CVector(double x, double y, double z)&lt;br /&gt;
 {&lt;br /&gt;
 	SetVector(x, y, z);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void CVector::SetVector(double x, double y, double z)&lt;br /&gt;
 {&lt;br /&gt;
 	cx = x;&lt;br /&gt;
 	cy = y;&lt;br /&gt;
 	cz = z;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector CVector::operator+(CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	return CVector(cx + v.cx, cy + v.cy, cz + v.cz);&lt;br /&gt;
 }	&lt;br /&gt;
 	&lt;br /&gt;
 CVector CVector::operator-(CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	return CVector(cx - v.cx, cy - v.cy, cz - v.cz);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector CVector::operator*(double s)&lt;br /&gt;
 {&lt;br /&gt;
 	return CVector(cx * s, cy * s, cz * s);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector CVector::operator*(CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	return CVector(cy * v.cz - cz * v.cy, cz * v.cx - cx * v.cz, cx * v.cy - cy * v.cx);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 double CVector::operator^(CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	return cx * v.cx + cy * v.cy + cz * v.cz;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void CVector::Normalize()&lt;br /&gt;
 {&lt;br /&gt;
 	cx = cy = cz = 1;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 double CVector::Length()&lt;br /&gt;
 {&lt;br /&gt;
 	return sqrt(cx * cx + cy * cy + cz * cz);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 CVector operator*(double s, CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	return v * s;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 ostream &amp;amp;amp; operator&amp;amp;lt;&amp;amp;lt;(ostream &amp;amp;amp; os, CVector v)&lt;br /&gt;
 {&lt;br /&gt;
 	os &amp;amp;lt;&amp;amp;lt; &amp;quot;x = &amp;quot; &amp;amp;lt;&amp;amp;lt; v.cx &amp;amp;lt;&amp;amp;lt; &amp;quot;, y = &amp;quot; &amp;amp;lt;&amp;amp;lt; v.cy &amp;amp;lt;&amp;amp;lt; &amp;quot;, z = &amp;quot; &amp;amp;lt;&amp;amp;lt; v.cz;&lt;br /&gt;
 	return os;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[삼총사CppStudy/숙제2]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>