private:함수는 써도 되고 안써도된다. 외부에서 접근이 안된다.
public:함수를써서 외부에서 접근이 허용이 된다. 그러므로 코코의 나이를 3살로 찍어보았다.
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
class diagram
dog
-age : int 변수 -는 private속성
+getAge()
+setAge() 함수 +는 public속성
class Dog{
private:
int age;
public:
int getAge() {
return age;
}
void setAge(int a) {
age=a;
}
};
getAge setAge앞에 밖으로 끄집어낼때는 소속을 명시해야된다.
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
클래스이름:Integer
변수:-val::int
멤버함수:+getVal()
+setVal()
=클래스다이어그램
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
출처:https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA
코드에서 여러 가지 오류가 있습니다. 아래에 수정할 부분을 정리하고, 수정된 코드를 제공하겠습니다.
오류 목록
- 헤더 포함 및 using 문법: #include <iostream> 뒤에 세미콜론이 있어야 합니다.
- 클래스 멤버 접근: Dog.age와 같은 접근은 불가능합니다. happy 객체를 통해 접근해야 합니다.
- 변수와 멤버 함수 선언: 변수와 함수 선언에 세미콜론이 잘못 사용되었습니다.
- setAge 함수에서의 세미콜론: 함수 구현 마지막에 세미콜론이 잘못 사용되었습니다.
- cout 사용: std::cout을 사용해야 합니다.
수정된 코드
아래는 위의 오류를 수정한 코드입니다:
cpp
#include <iostream>
using std::cout;
class Dog {
private:
int age;
public:
int getAge();
void setAge(int a);
};
int Dog::getAge() { return age; }
void Dog::setAge(int a) {
age = a;
}
int main() {
Dog happy; // Dog class의 happy 객체 정의
happy.setAge(2); // setAge 함수를 통해 age 설정
cout << happy.getAge(); // getAge 함수를 통해 age 출력
return 0;
}
주요 수정 사항 요약
- happy.setAge(2);를 통해 age를 설정하도록 수정했습니다.
- cout << happy.getAge();를 통해 age를 출력하도록 수정했습니다.
- 클래스 멤버 접근 방식을 올바르게 수정하여, 캡슐화 원칙을 따르도록 했습니다.
이제 이 코드는 올바르게 컴파일되고 실행될 것입니다.
class명:Lee
변수: -age:int
-weight:double
함수:+getAge(),+setAge(),+getweight(),+setweight(),+smile()
클래스다이어그램으로 한번 그려보았다.
수정한클래스다이어그램
class명:Lee
변수: -age:int
-weight:double
-endOfYear:void
함수:+getAge(),+setAge(),+getweight(),+setweight(),+smile(),+endOfYear()