기록은 기억을 이기고 시간보다 오래 남는다.

프로그래밍 언어/c++

[C/C++] c++ 에스프레소 espresso 6장/ 생성자와 소멸자/ 연습문제

준_준 2022. 5. 2. 01:30

1번.

비행기를 나타내는 Plane라는 이름의 클래스를 설계하라. Plane 클래스는 식별번호, 모델 승객수를 멤버 변수로 가지고 있다.

-멤버 변수를 정의하라. 모든 멤버 변수는 전용 멤버로 하라

-모든 멤버 변수에 대한 접근자와 설정자 멤버 함수를 작성한다.

#include <iostream>
using namespace std;

class Plane
{
	private:
	string Model;
	int CusNum;
	int Number;
public:
	Plane();
	~Plane();
    
void setModel(string x);
void setCusNum(int x);
void setNumber(int x);
void setAll(string a, int b, int c);
void getModel();
void getCusNum();
void getNumber();
void print();
};

Plane::Plane()
:CusNum(0),Number(0),Model("")
{}
Plane::~Plane()
{}
void Plane::setModel(string x)
{
	this->Model = x;
}
void Plane::setCusNum(int x)
{
	this->CusNum = x;
}
void Plane::setNumber(int x)
{
	this->Number = x;
}
void Plane::setAll(string a, int b, int c)
{
	this->Model = a;
	this->CusNum = b;
	this->Number = c;

}
void Plane::getModel()
{
	cout << this->Model << endl;
}
void Plane::getCusNum()
{
	cout << this->CusNum << endl;
}
void Plane::getNumber()
{
	cout << this->Number << endl;
}
void Plane::print()
{
	cout<<"모델은 "<<this->Model << endl;
	cout<<"고객수는 " << this->CusNum << endl;
	cout<<"식별번호는" << this->Number << endl;
}
int main()
{
	Plane plane1;
	Plane plane2;
	Plane plane3;
	plane1.setAll("Intel", 977084, 200);
	plane2.setAll("AMD", 977085, 150);
	plane3.setAll("NDIVIA", 977086, 100);
	plane1.print();
	plane2.print();	
	plane3.print();
	return 0;
}

 

 

===========================================

2번.

#include<iostream>
using namespace std;

class Box
{
	private:
	int hieght;
	int wide;
	int volume;
	int size;
	bool isOn;
public:
	Box();
	Box(int a, int b, int c);
	~Box();
void empty();
int getVolume();
};
Box::Box()
:hieght(0), wide(0), volume(0), size(0),isOn(0)
{}
Box::Box(int a, int b, int c)
{
	this->hieght = a;
	this->wide = b;
	this->volume = c;
	this->size = 0;
	this->isOn = false;
}
Box::~Box()
{}
void Box::empty()
{
	if (this->isOn == false)
{
	cout << "The box is empty" << endl;
}
else
{
	cout << "The box is not empty" << endl;
}
}
int Box::getVolume()
{
	this->size = this->hieght * this->wide * this->volume;
//cout << "박스의 사이즈는"<<this->size << endl;
	return this->size;
}
int main()
{
	Box box1(100, 100, 100); 
	Box box2(100, 50, 90);
	Box box3(123, 47, 90);
	if (box1.getVolume() < box2.getVolume())
{
	if (box2.getVolume() < box3.getVolume())
{
	cout << "The biggest one is box3" << endl;
}
else
{
	cout << "The biggest one is box2" << endl;

}
}
else
{
	if (box1.getVolume() < box3.getVolume())
{
	cout << "The biggest one is box3" << endl;
}
else
{
	cout << "The biggest one is box1" << endl;

}
}
	return 0;
}

========================================

3번.

#include<iostream>
using namespace std;

class Movie
{
private:
string title;
string director;
int score;
public:
Movie();
Movie(string x, string b, float c);
~Movie();
void setTitle(string x);
void setDirector(string x);
void setScore(float x);
string getTitle();
string getDirector();
float getScore();

};
Movie::Movie()
:title(""),director(""),score(0)
{}
Movie::Movie(string x, string b, float c)
{
	this->title = x;
	this->director = b;
	this->score = c;
}
Movie::~Movie()
{}
	void Movie::setTitle(string x)
{
	this->title = x;
}
void Movie::setDirector(string x)
{
	this->director = x;
}
void Movie::setScore(float x)
{
	this->score = x;
}
string Movie::getTitle()
{
	return this->title;
}
string Movie::getDirector()
{
	return this->director;
}
float Movie::getScore()
{
	return this->score;
}
int main()
{
	Movie movie1("도둑들", "봉준허", 4.5);
	Movie movie2("범죄도시", "킴", 5.5);
	Movie movie3("인랑", "장", 2.5);
if (movie1.getScore() < movie2.getScore())
{
	if (movie2.getScore() < movie3.getScore()) {
	cout << "Most hightest movie is movie3" << endl;
}
else {
	cout << "Most hightest movie is movie2" << endl;
}
} else {
if (movie1.getScore() < movie3.getScore()) {
	cout << "Most hightest movie is movie3" << endl;
} else {
	cout << "Most hightest movie is movie1" << endl;
}
}
}
반응형