函数在类中乘以2个隐藏变量

时间:2015-02-21 11:47:24

标签: c++

  

创建一个包含两个变量作为数据成员的类并创建一个成员   函数乘以吗?

 class Madina{
  int n1,n2 ;

 public:int getN1(){
   return n1 ;
 }
 public:int getN2(){
   return n2 ;
 }
 public:int setN1(int new_n1){
   n1 = new_n1 ;
 }
 public:int setN2(int new_n2){
   n2 = new_n2 ;
 }
public:int func(){
  return n1*n2;
}

};


int main(){

  Madina example ;
  int n1 =0;
  int n2 =0;
  cout << "Input"<<endl ;
  cout << "Enter 1st number"<<endl;
  cin >> n1 ;
  cout << "Enter 2nd number"<<endl ;
  cin >> n2 ;

  example.setN1(n1);
  example.setN2(n2);

  cout << "get n1 " << example.getN1()<<endl;
  cout << "get n2 " << example.getN2()<<endl;

  cout << "Output product is "<< example.func()<<endl ;
  return 0 ;


}

我不知道为什么程序崩溃了......没有解释任何东西!

1 个答案:

答案 0 :(得分:1)

我稍微更改了您的代码。

为什么你的setter方法会返回int? Setter方法永远不会返回任何东西?我已经测试了这段代码,它对我来说很好。

同样如上所述,方法只需要公开一次而不是单独公开。

#include <iostream>

class Madina{
    int n1,n2 ;

public:
int getN1(){
           return n1 ;
       }
int getN2(){
           return n2 ;
       }
void setN1(int new_n1){
           n1 = new_n1 ;
       }
void setN2(int new_n2){
           n2 = new_n2 ;
       }
int func(){
           return n1*n2;
       }

};

using namespace std;
int main(){

    Madina example ;
    int n1 =0;
    int n2 =0;
    cout << "Input"<<endl ;
    cout << "Enter 1st number"<<endl;
    cin >> n1 ;
    cout << "Enter 2nd number"<<endl ;
    cin >> n2 ;

    example.setN1(n1);
    example.setN2(n2);

    cout << "get n1 " << example.getN1()<<endl;
    cout << "get n2 " << example.getN2()<<endl;

    cout << "Output product is "<< example.func()<<endl ;
    return 0 ;


}

此外,其他用户应该提供C ++标记而不是Java标记。