실습 1 10주차부터 사용하게 될 기본 소스
const char*와 strcpy은 기말에 나오니 참고.
실습 2 const char* 에서 std::string으로 바꾸기.
std::string을 하게 되면 strcpy를 할 필요없이 매개변수에 그냥 대입해서 편하게 할 수 있다.
실습 3 Const 변수
1줄에는 전처리기을 이용해서 IN 변수를 1로 초기화 함.
실습 4 동적 메모리 할당 과 정적 메모리 할당
#include <iostream>
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* dp;
dp = new Dog[10]; // 객체배열 할당
// Dog *dp=new Dog[10];
if (!dp) {
std::cout << "메모리할당이 되지 않았습니다.";
return 1;
}
for (int i = 0; i < 10; i++) // C++에서는 가능
dp[i].setAge(i);
for (int i = 0; i < 10; i++)
std::cout << i << "번째 객체의 나이는 " <<
dp[i].getAge() << " 입니다. " << std::endl;
delete[]dp;
return 0;
}
실습5
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using std::cout;
class Cat {
private: //생략가능
int age;
std::string name;
public:
Cat(int age, std::string n) {
this->age = age;
name = n;
cout << name << "고양이 객체가 만들어졌어요.\n";
}
~Cat() { cout << name << "객체 바이\n"; };
int getAge()const ; //멤버 함수에 const 함수를 넣음.
std::string getName()const;
void setAge(int age);
void setName(std::string pName);
void meow()const; //멤버 함수에 const 함수에 넣음
};
int Cat::getAge()const{ // 정의 한 부분에도 같이 const 넣음.
return age;
}
void Cat::setAge(int age) {
this->age = age;
}
void Cat::setName(std::string pName) {
name = pName;
}
std::string Cat::getName()const {
return name;
}
void Cat::meow()const { // 정의 한 부분에도 같이 const 넣어야 됨.
cout << name << "고양이가 울어요\n";
}
int main() {
Cat nabi(1, "나비"), yaong(1, "야옹"), * pNabi;
cout << nabi.getName() << " 출생 나이는 " << nabi.getAge() << "살이다.\n";
cout << yaong.getName() << " 출생 나이는 " << yaong.getAge() << "살이다.\n";
pNabi = &nabi;
cout << pNabi->getName() << " 출생 나이는 " << pNabi->getAge() << "살이다.\n";
nabi.setName("Nabi");
nabi.setAge(3);
cout << nabi.getName() << " 나이는 " << nabi.getAge() << "살이다.\n";
yaong.meow();
nabi.meow();
return 0;
}
'C++' 카테고리의 다른 글
C++프로그래밍 12주차 (0) | 2023.11.23 |
---|---|
C++ 프로그래밍 11주차 (0) | 2023.11.16 |
C++ 8주차 (0) | 2023.11.02 |
C++7주차 (0) | 2023.10.19 |
6주차 (0) | 2023.10.12 |