C++:构造函数

2020-10-16 85点热度 1人点赞
#include <iostream>
using namespace std;
//构造函数必须是公有的
/**
 * 一个类被创建时,会发生两件事:
 * (1)为对象分配内存
 * (2)调用构造函数来初始化内存
 * */
/**
 * 在用默认构造函数创建对象时,如果创建的是全局对象或静态对象,则对象成员数据全为0,如果创建的是局部对象,其成员数据是无意义的随机数
 * 只要一个类定义了一个构造函数,C++就不再提供默认构造函数。如还需要无参数构造函数,则必须自己定义。
 * */
class computer
{
  //默认访问权限是私有的
  int op1; //操作数
  char ch; //运算符
  int op2; //操作数

public:
  computer(int b, char d, int c)
  {
    this->op1 = b;
    this->ch = d;
    this->op2 = c;
  }
  computer()
  {
  }
  void Set(int b, char d, int c)
  {
    op1 = b;
    ch = d;
    op2 = c;
  }
  void Show();
  void Init()
  {
    op1 = 3;
    ch = '+';
    op2 = 5;
  }
};
void computer::Show()
{
  //成员函数类外实现
  switch (ch)
  {
  case '+':
    cout << op1 + op2 << endl;
    break;
  case '-':
    cout << op1 - op2 << endl;
    break;
  case '*':
    cout << op1 * op2 << endl;
    break;
  case '/':
    if (op2 == 0)
    {
      cout << "不能被0整除" << endl;
      break;
    }
    cout << op1 / op2 << endl;
    break;
  default:
    cout << "运算符输入有误" << endl;
  }
}
int main()
{
  computer c;
  c.Init(); //通过成员对象进行初始化
  c.Show(); //显示运行结果
  return 0;
}

未经允许不得转载!C++:构造函数

本文地址:https://ai.52learn.online/1815

站长邮箱:ai52learn@foxmail.com