return 0; } -------------------- 이름을 맞춰서하자! GET, SET
콜론초기화---------- class AAA{ const int num;//값을 할당하지 못한다. 고유의 영역 const =변경할 수 없는수
public: AAA(int x):num(x){//그래서 num=10처럼 만든 것이 initializer cout<<"num= " << num << endl; } }; void main(){ AAA a(10); } -------상수 using namespace std;
void main(){ const int num = 10; num =20; } // 오류가 남 const는 값을 할당할 수 없슴.
상수 객체-----------
----------------다중상속
-------------------------- #include "stdafx.h" #include <iostream> #include <string> using namespace std; class AAA{ public: void display(){ cout << "AAA" << endl; } }; class BBB { public: void display(){ cout << "BBB" << endl; } }; class CCC : public AAA, public BBB { }; void main (){ CCC c; c.AAA::display(); /*네임스페이스('::')를 이용하여 불러옴 그러나 미봉책이며 virtual public을 이용하면 오류를 해결할 수 있다.*/ }
----------------virtual public 가상의 같은 이름의 공간에 변수를 만들어 넣음 가상상속 =/=가상함수 부모클래스에서 선언만, 자식은 정의하여 실제 사용 ------------------------------- class Mammal{ protected: int Age; public: Mammal(){ Age=4; } }; class Dog: virtual public Mammal{ public: Dog(){Age=4;} }; class Cat:virtual public Mammal{ public: Cat(){Age=6;} }; class Pet:public Dog, public Cat{ public: void Display(){ cout<<Age<<endl; } }; void main(){ Pet Pet; Pet.Display(); } ------------------------실행결과 6 계속하려면 아무 키나 누르십시오 . . . 예제 2----------------- mammal자료형으로 진도 객체를 만듬 부모 ------------ #include "stdafx.h" #include <iostream> #include <string> using namespace std; class Mammal{ public: void speak(int cnt){ cout<<cnt<<"번 짖다\n"; } virtual void speak()=0;// '=0'을 쓴 이유 // 순수 가상함수 = '0'자식 클레스에서 만들 것이다 //부모는 선언만하고 자식클래스에서 만들겠다. 추상화라고 부름 }; class Dog:public Mammal{ public: void speak(){ cout<<"멍멍\n"; } }; void main(){ Mammal *pt; Dog jindo; pt= &jindo;
-----------------예제 #include "stdafx.h" #include <iostream> #include <string> using namespace std; class Mammal{ public: virtual void speak(){ cout<<"짖다\n"; } }; class Dog:public Mammal{ public: void speak(){ cout<<"멍멍"; } }; void Display(Mammal *ptr){//새로운 객체 ptr->speak(); } void main(){ Dog jindo; Mammal mammal; Display(&mammal); //부모클래스를 상속하지 않으면 원래 가지고 있던 내용이 나온다. Display(&jindo); //가상함수는 자식 클래스 내용이 나옴 } -------------------실행결과 짖다 멍멍계속하려면 아무 키나 누르십시오 . . . ----------가상함수 마무리 가상 상속 때문에 알아봄. 가상 함수 =/=가상 상속 --------------------------- using namespace std; class Figure{ public: virtual void Display()=0; }; class Star: public Figure{ void Display(){ cout<<"★"; } }; class Heart: public Figure{ void Display(){ cout<<"♡"; } }; void main(){ Figure *fig[10]; Star sta; fig[0]=&sta; Heart har1, har2; fig[1]=&har1; fig[2]=&har2; fig[3]=NULL;
public: int plus(int su, int su2){return su + su2;} int sub(int su, int su2){return su - su2;} int mut(int su, int su2){return su * su2;} int div(int su, int su2){return su / su2;} int abs1(int su){ if(su < 0){su = su * -1;} return su; } int abs2(int su2){ if(su2 < 0){su2 = su2 * -1;} return su2; } int squar(int su, int su2){ int sq=1; for(int i=1; i <= su2; i++){ sq=sq * su; } return sq; } };