如何在程序中添加“警告信息”?

时间:2015-02-19 09:10:16

标签: c++ arrays oop

我用c ++为我的项目编写程序;但是,我无法添加"返回警告信息"在我的算法中。

我的algrotihm;

#include<iostream>

#include<conio.h>

using namespace std;

const int k=100;

class safearay{
    int arr[k];

    int getel(int index){ if(index>-1 && index<k) return arr[index];}};

void main(void)
{
    cout<<"-------------------------------------------------------------------------------\n"<<endl;

    safearay safea1; int temp=23456;

    for{
    safea1.putel(7, temp);  temp=safea1.getel(7);
    cout<<temp;
    cout<<"\n\n !Press k to continue."<<endl<<endl;
    }while(getch()=='k');
}

如何添加警告信息&#39;部?

2 个答案:

答案 0 :(得分:2)

一种方法是返回一个标记,指出putel函数出错并在main中打印错误。

bool putel(int index, int value){ 

    if(index <= -1 || index == 10 || index > LIMIT) {//the conditions that are invalid
       return false;
    }

     arr[index]=value;
     return true;
}

以及像这样的主要内容

 do{
     if(!safea1.putel(7, temp)){
        cout<<"Insert failed "<<endl; //Your warning message
     } else {
       temp=safea1.getel(7);
       cout<<temp;
       cout<<"\n\n !Press k to continue."<<endl<<endl;
   } while(getch()=='k');

我希望这就是你要找的......

答案 1 :(得分:1)

您可以使用throw,例如:

class safearray
{
public:
    void putel(int index, int value) { check_index(index); arr[index] = value;}
    int getel(int index) const { check_index(index); return arr[index];}

private:
    void check_index(int index) const
    {
        if (index < 0 || LIMIT <= index) {
            throw std::out_of_range("bad index " + std::to_string(index) + " for safearray");
        }
    }
private:
    int arr[LIMIT];
};

Demo