易错点

  1. Stock gift; //调用默认构造函数生成类实例 Stock
  2. Stock gift();//是声明一个返回类型为 Stock类的函数 不是声明类实例的语句

两种方法

1.声明时提供默认值

  1. class Stock{
  2. private:
  3. int a_;
  4. long b_;
  5. public:
  6. Stock(int a =1, long b=32);
  7. }
  8. //没有返回值
  9. Stock::Stock(int a, long b){
  10. a_ = a;
  11. b_ = b;
  12. }

2.只要设置了普通构造函数,就要同时提供默认构造函数,不然 stock gift;这种声明语句就会报错

  1. class Stock{
  2. private:
  3. int a_;
  4. long b_;
  5. public:
  6. Stock();
  7. }
  8. //没有返回值
  9. Stock::Stock(){
  10. a_ = 1;
  11. b_ = 32;
  12. }