클래스 중 일부 기본 데이터 형식

2542 단어

8.13 긴 객체


키워드 const를 사용하는 일반 대상의 정의입니다.문법 형식은 다음과 같다. 클래스 이름const 대상 이름;

8.14 일반 구성원


클래스는 구성원 데이터와 구성원 함수를 포함하기 때문에 상응하는 상구성원 함수와 상구성원 데이터를 정의할 수 있다.

8.14.1 일반 구성원 데이터


구문 형식:
 
Const 데이터 유형 변수 이름;
대상이 생성된 후, 일반 구성원으로 정의된 데이터의 양은 변하지 않습니다.

8.14.2 상구성원 함수


구문은 다음과 같습니다.
데이터 형식 함수 이름(형 참조 목록)const;
일반 구성원 함수의 경우 다음 사항에 유의해야 합니다.
① 상구성원 함수는 소속 클래스의 데이터 구성원의 값을 바꿀 수 없으며 안전을 위해 상구성원 함수에서 일반 구성원 함수를 호출할 수 없도록 규정한다.
② 키워드const는 함수 재부팅의 조건으로 사용할 수 있습니다.
③ 일반 대상은 일반 구성원 함수만 정의할 수 있고 일반 함수에 접근할 수 없다.
 

8.15 조합 관계


현실 세계에서 대상과 대상 간의 전체---부분 관계를 조합 관계라고도 부른다.
// 
#include<iostream>
#include<cstring>
using namespace std;
class Type{
	public:
		Type()
		{
			cout<<"Constructing one type."<<endl;
		}
		private:
			float maxSpeed;
			int loadTndex;
			float diameter;
			char sec[20];
			char company[20];
};
class SteeringWheel{
	public:
		SteeringWheel(){
		cout<<"Constructing one SteeringWheel."<<endl;}
		private:
			int color;
			char material[20];
			char type[10];
			char company[20];
};
class Motor{
	public:
		Motor()
		{
			cout<<"Constructing one Motor."<<endl;
		}
		private:
			float gasDischarge;
			float oilConsume;
			float power;
			float zip;
			char company[20];
};
class Car{
	public:
		Car()
		{
			cout<<"Constructing one Car."<<endl;
		}
		private:
			Type t4[4];
			SteeringWheel sw;
			Motor m;
};
int main()
{
	Car car;
	return 0;
}

8.16 클래스 템플릿


클래스 템플릿은 클래스를 생성할 수 있는 '슈퍼 데이터 형식' 이다.템플릿의 구문 형식을 다음과 같이 정의합니다.
Template
클래스 템플릿을 정의하려면 다음과 같이 하십시오.
#include<iostream>
#include<cstring>
using namespace std;
template <class T>
class Max{
	public:
		Max(T pFirst,T pSecond,T pThird);
		T getMax();
		private:
			T first;
			T second;
			T third;
}; 
template<class T>
Max<T>::Max(T pFirst,T pSecond,T pThird):
	first(pFirst),second(pSecond),third(pThird){
	}
template<class T>
T Max<T>::getMax()
{
	T t;
	t=first>second?first:second;
	t=t>third?t:third;
	return t;
}

int main()
{
	Max<int> nMax(1,2,3);
	cout<<"nMax is: "<<nMax.getMax()<<endl;
	Max<float> fMax(1.1f,2.2f,3.3f);
	cout<<"FMax is:"<<fMax.getMax()<<endl;
	return 0; 
}

좋은 웹페이지 즐겨찾기