[C++11] keyword: override
๊ธ ์์ฑ์: ๋ฅํด๋ฒ .
๋ฐ์ํ
1. ์ค๋ช
์ค์๋ก ๊ฐ๋ฐ์๊ฐ ์ค๋ฒ๋ผ์ด๋ฉ(overriding)ํด์ผ ํ๋ ํจ์์๋ ๋ถ๊ตฌํ๊ณ ์ค๋ฒ๋ผ์ด๋ฉ์ ํ์ง ์์์ ๊ฒฝ์ฐ ์ปดํ์ผ ํ์์ ์๋ฌ๋ฅผ ๋ฐ์์์ผ ๋ฏธ์ฐ์ ์ค์๋ฅผ ๋ฐฉ์งํ ์ ์๋ค.
c++
void override_func() override { cout << "Child override_func Call" << endl; }
2. ์์
2.1) override๋ฅผ ์ฌ์ฉํ์ ์
c++
#include <iostream> using namespace std; class Parent { public: Parent() { cout << "Parent Constructor Call" << endl; } virtual void override_func() { cout << "Parent override_func Call" << endl; } }; class Child : public Parent { public: Child() { cout << "Child Constructor Call" << endl; } void override_func() override { cout << "Child override_func Call" << endl; } }; int main() { Parent* p; p = new Child; p->override_func(); return 0; }
c++
Parent Constructor Call Child Constructor Call Child override_func Call
2.2) override๋ฅผ ์ฌ์ฉํ๋๋ฐ override ๋ ํจ์๊ฐ ์์ ์
c++
#include <iostream> using namespace std; class Parent { public: Parent() { cout << "Parent Constructor Call" << endl; } virtual void override_func() { cout << "Parent override_func Call" << endl; } }; class Child : public Parent { public: Child() { cout << "Child Constructor Call" << endl; } void override_func() const override { cout << "Child override_func Call" << endl; } // ์ปดํ์ผ ์๋ฌ }; int main() { Parent* p; p = new Child; p->override_func(); return 0; }
Parent์ void override_func() ์ Child์ void override_func() const๋ ์๋ก ๋ค๋ฅธ ํ์์ด๋ผ ์ค๋ฒ๋ผ์ด๋(override) ๋๋๊ฒ ์๋๋ฐ๋ ๋ถ๊ตฌํ๊ณ override ํค์๋๋ฅผ ์ง์ ํด์คฌ์ผ๋ฏ๋ก ์๋ฌ!
๋ฐ์ํ
'Language > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++] keyword: const (0) | 2020.07.22 |
---|---|
[C++11] keyword: final (0) | 2020.07.22 |
[C++] keyword: virtual (0) | 2020.07.22 |
[C++] keyword: public, protected, private (0) | 2020.07.22 |
[C/C++] Socket Send/Receive Buffer์ ๋ํ ๊ณ ์ฐฐ (3) | 2019.07.08 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[C++] keyword: const
[C++] keyword: const
2020.07.22 -
[C++11] keyword: final
[C++11] keyword: final
2020.07.22 -
[C++] keyword: virtual
[C++] keyword: virtual
2020.07.22 -
[C++] keyword: public, protected, private
[C++] keyword: public, protected, private
2020.07.22
๋๊ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.