본문 바로가기
반응형

생성자4

Golang 구조체 설명 Golang에는 class 개념 대신 struct개념이 있습니다. 쉽게말해 C나 C++에 있는 struct입니다. 하지만 Golang에는 다른 OOP와는 다르게, class의 역할중 생성자, 맴버변수 선언을 하지 못합니다. 또한 private, public이라는 개념이 따로 없으며, pirvate과 public이라는 선언대신 해당 struct를 외부에서 가져다 사용하거나 내부에서 사용할때의 기준을 정할 수 있습니다. 선언 방법은 다음과 같습니다. 1. 스택에 구조체 선언 package main import "fmt" type A struct { name string num int } func main() { a := A{} a.name = "hwan" a.num = 10 } 위와 같이 선언하면 사용할 수.. 2021. 5. 2.
C++] 가상 함수를 생성자에 사용하면?? 최근 기업 시험을 보는데 이런 문제가 나왔습니다. "가상함수를 생성자에 사용한다면 어떻게 되는가?" 이 문제를 봣을 때 "이건 뭐지??" 라는 생각이 먼저 들었습니다. 왜냐하면 생성자에서 가상함수를 호출할 생각 자체를 제 평생 한번도 해본적이 없기 때문입니다. 왜냐?? 사용할 이유가 없으니깐요.... 가상 함수니깐요.... 가상 함수의 의미는? overriding 이죠. 다형성이죠. 또한 순수 가상 함수는 재 정의를 해줘야하는 함수입니다. 재 정의를 해야할 함수를 생성자를 통해 호출을한다?? 아마 사용자의 실수로 호출을 하지 않을까... 싶네요....코드가 길어지면 어느 클래스에 어떤 맴버함수가 있는지 잘 기억이 안나니깐 말이죠... 그래서 저는.... 찾아보고....경험해보고.... 그래서 이 글을 쓰.. 2020. 6. 22.
C++] virtual function(가상 함수)에 대하여...(햇갈리는 분들~ 어여 드루와) 예전에 작성한 가상 함수글이 있습니다. 하지만 조금 미흡한것 같아 다시 작성해봅니다. 1. 일반적인 상속관계에서의 생성자, 소멸자 호출일반적으로 클래스를 정의하고 객체를 선언하면 다음과 같은 생성자, 소멸자 호출이 됩니다. 1) 생성자, 소멸자 호출 확인 코드.#include class A {private:public: A() { printf("A 생성자\n"); } ~A() { printf("A 소멸자\n"); }}; class B : public A{private:public: B() { printf("B 생성자\n"); } ~B() { printf("B 소멸자\n"); }};int main(void) { B b; return 0;} B객체를 선언했는데 상속된 부모 클래스의 A생성자와 소멸자가 호출되.. 2020. 6. 21.
C++의 생성자, 문자열 초기화 C2664 오류시 해결!! C++에서 클래스를 생성하면 생성자가 자동으로 생깁니다. 여기서 생성자란!! 객체선언시 자동으로 실행되는 코드를 말합니다. #include using namespace std; class A { A() {}; //이런 코드가 원래 생기지만 보이지 않을 뿐!! }; int main(void) { return 0; } ​ Class를 선언하게 되면 해당 Class의 이름과 같은 함수가 생성되고 위와 같이 아무런 기능이 없이 생성되는 생성자를 '디폴트 생성자' 라고 합니다. 그리고 이 디폴트 생성자는 사용자가 아무런 기능을 넣지 않으면 코드 실행시 자동으로 생성되어 컴파일을 진행하게 됩니다. 즉, 생성자를 코드상으로 표현하지 않아도 컴파일 과정에서 자동으로 디폴트 생성자가 생성되는 것입니다. 생성자는 주로 초.. 2019. 2. 20.
728x90
반응형

스킨편집 -> html 편집에서