一个简单的C++程序 有几处不明白

来源:百度知道 编辑:UC知道 时间:2024/06/30 01:43:24
以下的程序希望高手给我解释一下(在我添加注释的地方)
//File button.h
#ifndef BUTTON_H
#define BUTTON_H

class Button
{
public:
enum Status{out,in};
void setState(Status newState);
Status getState() const;
private:
Status state;
};
#endif

//File button.cpp
#include "button.h"
void Button::setState(Status newStatus)
{
state=newState;
}
Button::Status Button::getState() const//为什么两次出现Button::
{
return state;
}

//File main.cpp
#include<iostream>
#include"button.h"

typedef Button::Status STATUS;
STATUS const out=Button::out;/*不明白Button::out,Button::in是怎么回事以及这一行代码的意思*/
STATUS const in=Button::in;
void printState(Button const &panic)
{
STATUS state=panic.getState();
if(state==out)
std::cout<<"state is out"<<"\n";
else if(state==in)
std::cout<

Button::Status Button::getState() const//为什么两次出现Button::

Button::Status 是函数的返回类型
Button::getState() Button::表示getState()是Button的成员

STATUS const out=Button::out;/*不明白Button::out,Button::in是怎么回事以及这一行代码的意思*/

out和in 都是Button 的成员。
这里就是把Button中的out的值赋给定义的STATUS const out,初始化

重定义了变量名嘛,

typedef int int32;你总知道吧

一个意思