월 24,200원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결홍정모의 따라하며 배우는 C++
코드 상에 뭐가 틀린걸까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저
- 미해결홍정모의 따라하며 배우는 C++
16:17
Fraction one_thirds=Fraction{1,3}; 이거랑 Fraction one_thirds(1,3) ; 이랑 임시객체 생성되고 안되고 차이가 있나요? 둘이 똑같은 과정을 거치는건가요?
- 미해결홍정모의 따라하며 배우는 C++
제휴, 의존관계 강의를 보고 문의 드립니다.
안녕하세요. 교수님께서 구성관계에서 Position 클래스를 만들어서 Monster의 private에 넣어주는 형식을 한개의 파일에서 진행을 하셨습니다. 제휴, 의존 관계를 보고 문의를 드리는건데요. Position클래스가 cpp,h로 나뉘어져 있고, Monster클래스도 cpp,h로 나뉘어져 있다면, Monster클래스가 Position 클래스를 멤버 변수에 사용하기 위해서는 #include 보다는 전방선언으로 하는 것이 컴파일 속도에는 보다 효율적이겠네요? 그리고 Monster cpp에서 Move 함수 동작을 위해서 Position 클래스를 사용하기 위해서는 cpp에다가 Position 의 헤더를 #include 해야 하는 것이 맞죠? 예시로 Date-Monster 파일 만들어서 진행했습니다. main 부 monster.cpp monster.h date.cpp date.h
- 미해결홍정모의 따라하며 배우는 C++
18분9초에 함수만드신거 질문드립니다
교수님 안녕하세요 18분 9초 쯤에 int getPrice(bool onSale) { if (onSale) return 10; else return 100; } 라고 함수를 하나 만드셨는데 int main() { bool onSale = false; 이것처럼 bool onSale을 true가 아닌 false로 놓으면 왜 100이 나오는지 여쭤봅니다. 혹시 if (onSale) return 10; 이라는 뜻은 onSale이 참일때 10을 return하라는 뜻이어서 false로 놓으면 100이 나오는것인가요? 그러면 bool 타입 인풋일때는 if (onSale == true)라고 명시를 안해도 if(onSale)만으로도 onSale==true라는 뜻이라서 그런것인가요? 함수의 input type이 정수인것들만 보다가 여기선 bool 타입이다보니 헷갈리는것 같습니다 감사합니다 const int price = getPrice(onSale);
- 해결됨홍정모의 따라하며 배우는 C++
구성관계 강의를 보고 문의 드립니다.
안녕하세요. 구성관계 강의를 보고 문의드립니다. 교수님께서는 Position 클래스를 따로 만들어서 사용하셨는데, 순수가상클래스에 Position에 해당하는 변수들을 멤버 변수화 후, monster에서 상속받아서 사용하는 것도 맞지 않나요??
- 미해결홍정모의 따라하며 배우는 C++
unsigned integer 실습 질문
교수님 안녕하세요, 교수님이 숙제 내주신대로 unsigned integer을 cout << std::pow(2, sizeof(unsigned int)*8)-1 << endl; 로해서 돌리면 커맨드 창에 4.29497e+09이런 숫자로 나옵니다 cout << std::numeric_limits<unsigned int>::max() << endl;로 하면 4294967295이 제대로 나오구요( 2^32-1) 둘이 같은 숫자 같지만 왜 하나는 "4.29497e+09" 이런 식으로 나오는지 여쭤봅니다. 감사합니다!
- 미해결홍정모의 따라하며 배우는 C++
4.2 전역변수, 정적변수, 내부연결, 외부연결 / pi, gravity
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문r이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 헤더파일에는 #pragma once namespace Constants { extern const double pi; extern const double gravity; } cpp 파일에는 namespace constants { extern const double pi(3.14159); extern const double gravity(9.8); } 로 작성해서 하나의 메모리에 저장되게 하는 원리가 헤더파일에 전방선언을 이용해서 cpp 파일의 값을 받아와 같은 메모리 주소를 이용한다고 이해했는데 맞을까요??
- 해결됨홍정모의 따라하며 배우는 C++
20.6 nanogui 실습 중 오류 발생 문제입니다.
영상에서 설명해주신 것과 같이 properties를 설정하고 빌드했습니다. exe파일 실행 시 abort() has been called 오류 팝업이 출력 됩니다.디버그 시도 시 bad allocation execption이 발생하네요. 해결할 방법을 찾지 못해 도움 부탁드립니다.
- 미해결홍정모의 따라하며 배우는 C++
클래스 내부엔 this-> 코드가 있기에 인스턴스에서 접근이 가능한거죠?
클래스의 인스턴스들은 각자의 포인터가(주소값이) 있고 그 포인터를 가진 인스턴스를 this로 사용해서 자신의 주소를 출력하거나클래스의 함수나 변수에 접급할 수 있다는거죠?? 클래스 안에 있는 함수나 변수에는 this->라는 코드가 숨겨져있는거고 this-> 코드가 있기에 클래스에 인스턴스들은 클래스 내부에 접근이 가능한거고 void *te() { return this; } 이런식으로 해봤을떄 비정적 멤버함수 내에서만 사용이 가능하다고 하는데.. 그럼 this라는건 클래스와 객체 사이에서만 가능한건가요? Calc &add(int value) { m_value += value; return *this; } Calc &sub(int value) { m_value -= value; return *this;} Calc& mult(int value) { m_value *= value;return *this; } 이 부분은 Calc 클래스를 참조해서 자기 자신을 반환하니까 각 함수의 값이 자기 자신한테 반환기에 클래스 안에 함수의 함수를 계속 호출이 가능한거군요 제가 이해한게 맞을까요?
- 미해결홍정모의 따라하며 배우는 C++
4분 5초에서 질문있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. (*this)[count] 로 써도 m_array에 접근할수 있는 이유가 궁금합니다. this라는 것은 해당 인스턴스의 주소로 알고 있는데, 인스턴스의 주소와 m_array의 주소가 같기 때문인가요 ? 그렇다고 한다면 멤버변수중에 다른 변수가 있으면 m_array의 주소와 this가 다를거라고 생각했는데 직접 해보니까 다른 변수가 있어도 정상적으로 동작하네요 ..? *this 로 접근해도 m_array에 접근할수 있는 이유가 궁금합니다 감사합니다
- 미해결홍정모의 따라하며 배우는 C++
11.2 강 : 파일 소스를 열 수 없습니다 에러 질문입니다
include 부분에 빨간 줄이 생겨서 검색하던 와중 에러를 고치지 못해서 질문드립니다. person.h 파일이 #include <string> #include <iostream>를 포함하고 teacher.h, student.h 파일이 person.h를 include하는 구조인데 person.h 에서 string과 iostream을 include 하는 부분부터 에러가 떠서 파일 소스를 열 수 없습니다 라는 에러가 뜹니다 include할 떄 같은 파일이름으로 헤더파일이 있어서 그런걸까요?
- 미해결홍정모의 따라하며 배우는 C++
for문에서 goto문 사용하는데 오류가 나네요 ㅠ
연습문제로 0부터 20까지 짝수만 출력하기 를 구현해보려고 했는데 오류가 뜨네요 ㅜ for문에서 for (int i = 0; i <21; i+=2)에서 i+=2 로 코딩하면 작동은 되는데 goto문 이용해서 위 사진처럼 코딩하니까 오류가 뜨는데 어떻게 하면 좋을까요?? goto문은 사용하면 안 좋다는 평이 많아서 그냥 goto문 탓을 하면서 넘어갈까 했는데 혹시 다른 문제가 있는데 제가 넘어가는 것일까 염려 되어 여쭤봅니다. 저 Output 창에 뜨는 에러 문구도 구글에 검색해봤는데 해결이 잘 안 되었네요. 코드에 쓰레기값(?)이라고 잘 보이진 않는데 이상한게 추가 되어서 그렇다는 의견도 있어서 저 cpp파일을 다 지우고 새로 타이핑 해봤는데도 해결이 안 되네요 도움 주시면 감사드리겠습니다! - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결홍정모의 따라하며 배우는 C++
delete관련 질문
class Base { public: virtual ~Base() { cout << "Base소멸자" << endl; } }; class Derived : public Base { public: int* m_arr; public: Derived(const int& length) { m_arr = new int[length]; } virtual ~Derived() { cout << "Derived 소멸자" << endl; delete[] m_arr; } }; int main() { Derived * derived_ptr =new Derived(5); Base* base_ptr = derived_ptr; delete base_ptr; return 0; } 위 코드를 복붙하시면 보기 좀더 편할거라 생각됩니다. delete 함수는 메모리를 반환하고, 소멸자를 호출 해주는것으로 알고 있습니다. 또한, 자식클래스의 소멸자를 호출하면, 부모 클래스의 소멸자는 자동으로 호출되는 것으로 알고 있습니다. 또한 다형 delete 함수 관점에서 생각해보면, 어떤포인터가 들어올것인데 이 포인터의 데이터 타입만큼 해당되는 메모리크기를 반환해줄것으로 생각됩니다. delete base;에서 base의 데이터타입은 Base*입니다 그러면 부모클래스만큼의 크기만 반환하는것 아닙니까? (부모클래스부분만 반환되고 자식클래스부분은 메모리에 남아있음) delete가 프로그래머의 의도를 어떻게 알고 부모클래스, 자식클래스 합친만큼의 메모리를 반납하는건지 궁금합니다. delete 내부적으로 포인터가 들어왔을때, 데이터타입과, 실제 내용물의 데이터타입을 비교해서 알아서 처리해주는것으로밖에 생각할수없는데.... 정확히 알고 싶습니다.
- 미해결홍정모의 따라하며 배우는 C++
왜 저는 클래스의 변수가 안불러와지죠..?
삭제된 글입니다
- 미해결홍정모의 따라하며 배우는 C++
3:30 쯤에서 질문있습니다
Derived* derived = new Derived(5); Base* base = derived; delete base; 요렇게 하셨는데 굳이 Base* base = derived; 로 할 필요가 있나요 ..? 혹시 실제로 이런 기법이 언제 쓰이는지 궁금합니다
- 미해결홍정모의 따라하며 배우는 C++
AutoPtr<Resource> res = new Resource
안녕하세요. 아래 두분이 질문을 주셨었는데요.. AutoPtr<Resource> res = new Resource 이것은 1. res 객체를 만들고 2. copy constructor 이 실행되어 3. new Resource의 주소가 4. res의 m_ptr 에 복사된다. 이렇게 이해하면 되는것인가요?
- 해결됨홍정모의 따라하며 배우는 C++
8:40 nullptr 질문드려요
안녕하세요? ~IntArray() { if (m_arr != nullptr) delete[] m_arr; } 동적할당 해제를 위해 소멸자 몸체에 delete를 해주고있습니다. 포인터는 여전히 해제된 메모리를 가리키고있는데 포인터에 nullptr을 해줘야 하지않나요?
- 미해결홍정모의 따라하며 배우는 C++
강의내용중 질문이 있습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 1. 클래스의 멤버함수 정의 할 때 인스턴스의 이름을 출력하게 하는 방법이 있는지 궁금합니다. 예를 들어서 Student s1; 을 정의하고 나서 s1.function(); 을 수행하면 "s1" 처럼 인스턴스의 이름을 출력하게 하는 기능이 있는지 궁금합니다. 2. string getName() { return m_name;} 을 수행할 때 const를 붙이지 않으면 안되는 이유가 궁금합니다. (string getName() const 라고 해야만 되는 이유) 3. 출력 연산자 오버라이딩 할때 friend ostream & ... 에서도 마찬가지로 '&' 를 붙이지 않으면 기능하지 않는 이유에 대해서도 궁금합니다 감사합니다
- 미해결홍정모의 따라하며 배우는 C++
네임스페이스
namespace를 myspace1 과 myspace2 를 줬을때는 main에서 usingnamespace myspace1을 준뒤, 코드를 실행해 보면 오버라이딩이 안 일어나고 정상적으로 실행이 되는데, namepace를 한개만 주고 main함수에서 using namespace myspace1을 준 뒤 코드를 실행했을때 오버라이딩이 일어나는 이유가 궁금합니다. 코드 첨부하였습니다! #include <iostream> using namespace std; namespace Myspace1 { int doSomething(int a, int b) { return a + b ; } } int doSomething(int a, int b) { return a * b; } int main() { using namespace Myspace1; cout << doSomething(3, 4) << endl; return 0; } #include <iostream> using namespace std; namespace Myspace1 { int doSomething(int a, int b) { return a + b ; } } namespace Myspace2 { int doSomething(int a, int b) { return a * b; } } int main() { using namespace Myspace1; cout << doSomething(3, 4) << endl; return 0; }
- 해결됨홍정모의 따라하며 배우는 C++
7:50 생성자 관련 질문드려요
안녕하세요? 7:50 에 교수님께서 생성자가 파라미터가 하나도 없는 경우에만 괄호를 항상 빼도록 되어있다고 하셨습니다. 그런데 괄호를 붙이고 빌드를 해보니, 아무런 에러나 경고가 뜨지 않았습니다. 괄호를 빼는것이 에러가 떠야 하는건데 제 컴파일러가 잡아내지 못한것인지, 아니면 프로그래머끼리의 약속인지 궁금합니다. 항상 감사드립니다.