<?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=OurMajorLangIsCAndCPlusPlus%2FClass</id>
	<title>OurMajorLangIsCAndCPlusPlus/Class - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=OurMajorLangIsCAndCPlusPlus%2FClass"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=OurMajorLangIsCAndCPlusPlus/Class&amp;action=history"/>
	<updated>2026-05-14T19:34:08Z</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=OurMajorLangIsCAndCPlusPlus/Class&amp;diff=37356&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:23, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=OurMajorLangIsCAndCPlusPlus/Class&amp;diff=37356&amp;oldid=prev"/>
		<updated>2021-02-07T05:23:56Z</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;=== 구조체에서 클래스로 ===&lt;br /&gt;
 struct Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 void init_date(Date *date, int d, int m, int y)&lt;br /&gt;
 {&lt;br /&gt;
 	date-&amp;amp;gt;d = d;&lt;br /&gt;
 	date-&amp;amp;gt;m = m;&lt;br /&gt;
 	date-&amp;amp;gt;y = y;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void add_year(Date *date, int n)&lt;br /&gt;
 {&lt;br /&gt;
 	...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void add_month(Date *date, int n)&lt;br /&gt;
 {&lt;br /&gt;
 	...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void add_day(Date *date, int n)&lt;br /&gt;
 {&lt;br /&gt;
 	...&lt;br /&gt;
 }&lt;br /&gt;
 class Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 public:&lt;br /&gt;
 	void init(int dd, int mm, int yy);&lt;br /&gt;
 	void add_year(int n);&lt;br /&gt;
 	void add_month(int n);&lt;br /&gt;
 	void add_day(int n);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 void Date::init(int dd, int mm, int yy)&lt;br /&gt;
 {&lt;br /&gt;
 	d = dd;&lt;br /&gt;
 	m = mm;&lt;br /&gt;
 	y = yy;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Date::add_year(int n)&lt;br /&gt;
 {&lt;br /&gt;
 	...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Date::add_month(int n)&lt;br /&gt;
 {&lt;br /&gt;
 	...&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void Date::add_day(int n)&lt;br /&gt;
 {&lt;br /&gt;
 	...&lt;br /&gt;
 }&lt;br /&gt;
=== 접근 제어 ===&lt;br /&gt;
private - 클래스 멤버만 사용 가능&lt;br /&gt;
public - 외부에서도 사용 가능&lt;br /&gt;
=== 생성자 ===&lt;br /&gt;
 class Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 public:&lt;br /&gt;
 	Date(int dd, int mm, int yy);&lt;br /&gt;
 	void add_year(int n);&lt;br /&gt;
 	void add_month(int n);&lt;br /&gt;
 	void add_day(int n);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 Date::Date(int dd, int mm, int yy)&lt;br /&gt;
 {&lt;br /&gt;
 	d = dd;&lt;br /&gt;
 	m = mm;&lt;br /&gt;
 	y = yy;&lt;br /&gt;
 }&lt;br /&gt;
 class Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 public:&lt;br /&gt;
 	Date();&lt;br /&gt;
 	Date(int yy);&lt;br /&gt;
 	Date(int dd, int mm, int yy);&lt;br /&gt;
 	void add_year(int n);&lt;br /&gt;
 	void add_month(int n);&lt;br /&gt;
 	void add_day(int n);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 Date::Date()&lt;br /&gt;
 {&lt;br /&gt;
 	d = m = y = 1;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Date::Date(int yy)&lt;br /&gt;
 {&lt;br /&gt;
 	d = m = 1;&lt;br /&gt;
 	y = yy;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Date::Date(int dd, int mm, int yy)&lt;br /&gt;
 {&lt;br /&gt;
 	d = dd;&lt;br /&gt;
 	m = mm;&lt;br /&gt;
 	y = yy;&lt;br /&gt;
 }&lt;br /&gt;
 class X&lt;br /&gt;
 {&lt;br /&gt;
 	const int i;&lt;br /&gt;
 	Club c;&lt;br /&gt;
 	Club&amp;amp;amp; pc;&lt;br /&gt;
 public:&lt;br /&gt;
 	X(int ii, const string&amp;amp;amp; n, Date d, Club&amp;amp;amp; c) : i(ii), c(n, d), pc(c) {}&lt;br /&gt;
 }&lt;br /&gt;
=== 소멸자 ===&lt;br /&gt;
 class Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 public:&lt;br /&gt;
 	Date();&lt;br /&gt;
 	Date(int yy);&lt;br /&gt;
 	Date(int dd, int mm, int yy);&lt;br /&gt;
 	~Date();&lt;br /&gt;
 	void add_year(int n);&lt;br /&gt;
 	void add_month(int n);&lt;br /&gt;
 	void add_day(int n);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 Date::~Date()&lt;br /&gt;
 {&lt;br /&gt;
 	...&lt;br /&gt;
 }&lt;br /&gt;
=== static 멤버 ===&lt;br /&gt;
* 모든 인스턴스에 의해 공유됨&lt;br /&gt;
* 인스턴스 없이 접근 가능&lt;br /&gt;
 class Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 	static Date default_date;&lt;br /&gt;
 public:&lt;br /&gt;
 	Date();&lt;br /&gt;
 	static void set_default(int dd, int mm, int yy);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 Date Date::default_date;&lt;br /&gt;
 &lt;br /&gt;
 void Date::set_default(int dd, int mm, int yy)&lt;br /&gt;
 {&lt;br /&gt;
 	default_date.d = dd;&lt;br /&gt;
 	default_date.m = mm;&lt;br /&gt;
 	default_date.y = yy;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 Date::Date()&lt;br /&gt;
 {&lt;br /&gt;
 	d = default_date.d;&lt;br /&gt;
 	m = default_date.m;&lt;br /&gt;
 	y = default_date.y;&lt;br /&gt;
 }&lt;br /&gt;
=== const 멤버 함수 ===&lt;br /&gt;
 class Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 public:&lt;br /&gt;
 	Date();&lt;br /&gt;
 	Date(int dd, int mm, int yy);&lt;br /&gt;
 	int year() const;&lt;br /&gt;
 	int month() const;&lt;br /&gt;
 	int day() const;&lt;br /&gt;
 	void add_year(int n);&lt;br /&gt;
 	void add_month(int n);&lt;br /&gt;
 	void add_day(int n);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 int Date::year() const&lt;br /&gt;
 {&lt;br /&gt;
 	return y;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int Date::month() const&lt;br /&gt;
 {&lt;br /&gt;
 	return m;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int Date::day() const&lt;br /&gt;
 {&lt;br /&gt;
 	return d;&lt;br /&gt;
 }&lt;br /&gt;
=== this 포인터 ===&lt;br /&gt;
 class Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 public:&lt;br /&gt;
 	void add_year(int n);&lt;br /&gt;
 	void add_month(int n);&lt;br /&gt;
 	void add_day(int n);&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 void Date::add_year(int n)&lt;br /&gt;
 {&lt;br /&gt;
 	if(this-&amp;amp;gt;d == 29 &amp;amp;amp;&amp;amp;amp; this-&amp;amp;gt;m == 2 &amp;amp;amp;&amp;amp;amp; !leapyear(this-&amp;amp;gt;y + this-&amp;amp;gt;n))&lt;br /&gt;
 	{&lt;br /&gt;
 		this-&amp;amp;gt;d = 1;&lt;br /&gt;
 		this-&amp;amp;gt;m = 3;&lt;br /&gt;
 	}&lt;br /&gt;
 	this-&amp;amp;gt;y += this-&amp;amp;gt;n;&lt;br /&gt;
 }&lt;br /&gt;
=== mutable ===&lt;br /&gt;
 class Date&lt;br /&gt;
 {&lt;br /&gt;
 	int d, m, y;&lt;br /&gt;
 	mutable bool cache_valid;&lt;br /&gt;
 	mutable string cache;&lt;br /&gt;
 	void compute_cache_value() const;&lt;br /&gt;
 public:&lt;br /&gt;
 	Date();&lt;br /&gt;
 	string string_rep() const;&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 string Date::string_rep() const&lt;br /&gt;
 {&lt;br /&gt;
 	if(cache_valid == false)&lt;br /&gt;
 	{&lt;br /&gt;
 		compute_cache_value();&lt;br /&gt;
 		cache_valid = true;&lt;br /&gt;
 	}&lt;br /&gt;
 	return cache;&lt;br /&gt;
 }&lt;br /&gt;
----&lt;br /&gt;
[[OurMajorLangIsCAndCPlusPlus]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>