프로그래밍 C++3 [c++] 24-08-30 공부 정리 가변 인자함수나 템플릿 등에 인자의 개수를 정해두지 않고 가변적으로 사용…를 사용ex)#include #include void Type1(std::string msg, int no, double value){ std::cout void Printlog(T... arg0){ Type1(arg0...); // Type2(arg0...); }int main(){ Printlog("Warning", 100, 22.5); // Printlog(101, 55.6); return 0;}가변 인자 활용va_list : 인자로 들어온 값들을 리스트로 처리va_start(가변인자리스트, 가변인자개수): 리스트의 포인터 변수가 첫 번째 인자를 가리키도록 초기화va_arg(리스트, 인자 .. 2024. 8. 30. [c++] 24-08-29 공부 정리 friend 클래스기존에는 private에 접근이 불가능 하지만 friend로 다른 클래스를 선언하면 해당 클래스에서는 private에 접근이 가능해짐잘 사용되지는 않음 (private값의 정보 은닉을 깨뜨림)ex)class Good;class Bad;class Info{ friend class Good; //Good 클래스를 friend로 선언 public: Info() { }; private: std::string achieve;};class Good : Info { public: Good() { achieve = "근초고왕";}; // Info의 private 값인 achieve에 접근 가능 void Display(){ .. 2024. 8. 29. [C++] 24-08-28 공부 정리 클래스 default 생성자클래스를 생성자에 default를 사용하면 멤버 변수의 값들은 초기화 됨ex)class Tmp{ public: Tmp() = default;}클래스 생성자 초기화 리스트클래스의 멤버 변수의 값을 생성자의 초기화 리스트를 통해 원하는 값으로 초기화 가능ex)class Tmp{ public: Tmp(): num1(10), num2(20), name("이름") {} private: int num1; int num2; std::string name;}클래스 소멸자클래스 객체가 삭제될 때 이뤄지는 작업을 정의할 수 있음ex)class Tmp{ public: Tmp() = {//생성될 때 이뤄지는 작업} //생성자 ~Tmp() = {//소멸될 때 이뤄지는 작업} //소멸자}.. 2024. 8. 28. 이전 1 다음