> 백엔드 개발 > C#.Net 튜토리얼 > C++에서 정적 멤버와 상수 멤버 사용

C++에서 정적 멤버와 상수 멤버 사용

伊谢尔伦
풀어 주다: 2016-11-21 11:48:46
원래의
2208명이 탐색했습니다.

1. 실험 목적
(1) 정적 멤버 사용법 배우기
(2) 상수 멤버 사용법 배우기
(3) 정적 데이터 멤버 및 상수 데이터 멤버 초기화 익히기
2. 실험 내용
(1) 상품은 상자 단위로 유통되며, 상자 단위로 판매됩니다. 따라서 매장에서는 이제 상품 클래스를 설계하고 정적 멤버를 사용하여 매장에서 상품 구매 및 판매를 시뮬레이션하려면 현재 재고가 있는 상품의 총 중량을 기록해야 합니다.
(2) 위의 Goods 클래스에 상수 데이터 멤버(상품 이름)를 추가하고 상품 이름을 초기화합니다.
(3) 이전에 정의한 멤버 함수 중 일부를 상수 멤버 함수로 다시 작성하고 클래스의 모든 멤버 함수를 설정할 수 있는지 관찰합니다. 상수 멤버 함수로.

3. 실험 단계
(1) Goods 클래스를 정의하기 위해 헤더 파일 Goods.h를 추가합니다.

#include<iostream>using namespace std;class Goods
{public:
    Goods(int inBox, double inWeight);
    ~Goods();    void Sell(int outBox, double outWeight);    void print();private:    int Box;    double weight;    static int totalBox;    static double totalWeight;
};

Goods::Goods(int inBox, double inWeight)
{
    Box = inBox;
    totalWeight = inWeight;
    totalBox = totalBox + inBox;
    totalWeight = totalWeight = inWeight;
}void Goods::Sell(int outBox, double outWeight) {
    totalBox = totalBox - outBox;
    totalWeight = totalWeight - outWeight;
}void Goods::print() {    cout << "当前货物总箱数为:" << totalBox << "箱" << endl;    cout << "当前货物总重量为:" << totalWeight << "kg" << endl;
}
Goods::~Goods()
{
}int Goods::totalBox = 0;double Goods::totalWeight = 0.0;
로그인 후 복사

(2) Goods 클래스를 구현하기 위해 소스 파일 Goods.cpp를 추가합니다. 멤버 함수 .
(3) 구매 및 판매 프로세스를 시뮬레이션하기 위해 기본 프로그램에서 여러 Goods 클래스 객체를 정의합니다. 실행 결과를 봅니다.

#include"Goods.h"int main()
{
    Goods gd(5, 200);
    gd.Sell(2, 50);
    gd.print();
    getchar();    return 0;
}
로그인 후 복사

C++에서 정적 멤버와 상수 멤버 사용

(4) 상품 이름을 나타내기 위해 Goods 클래스에 상수 데이터 멤버 const char * name을 추가하고 생성자와 기본 프로그램 호출을 다시 작성합니다. , 생성자에서 멤버 초기화 목록의 카고 이름에 초기값을 할당합니다. 실행 결과를 다시 컴파일하고 관찰합니다.

C++에서 정적 멤버와 상수 멤버 사용

(5) 이전에 정의한 멤버 함수 중 일부를 상수 멤버 함수로 다시 작성하고 클래스의 모든 멤버 함수를 상수 멤버 함수로 설정할 수 있는지 관찰합니다.

C++에서 정적 멤버와 상수 멤버 사용

상수 데이터 멤버는 객체의 데이터 멤버를 업데이트할 수 없으며 클래스의 일반 멤버 함수를 호출할 수도 없습니다. 데이터 멤버의 값은 상수 멤버 함수에서 업데이트되지 않습니다.

관련 라벨:
c++
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿