问题描述
如何访问私有成员函数?什么时候是布尔值?
这是我的代码:
class IntQueue
{
private:
bool isEmpty(); //private member function bool
bool isFull(); //private member function bool
public:
bool isful(); //access isEmpty
bool isemp(); //access isFull
};
我被告知将函数 isEmpty 和 isFull 设为私有成员函数。
//private function
bool IntQueue::isEmpty()
{
bool status;
if (numItems)
status = false;
else
status = true;
return status;
}
//private function
bool IntQueue::isFull()
{
bool status;
if (numItems < queueSize)
status = false;
else
status = true;
return status;
}
这是访问私有函数的正确方式吗?
//ACCESS THE PRIVATE MEMBER FUNCTION
bool IntQueue::isemp()
{
isEmpty();
}
bool IntQueue::isful()
{
isFull();
}
解决方法
否,因为在 C++ 非 void 函数中没有 ~/.config/flake8
语句。这会调用未定义行为。您必须返回 return
和 isEmpty()
返回的内容。
isFull()
,
如果你想对另一个方法再次使用isEmpty()如何自动访问isemp()或者再次调用isEmpty()返回?
喜欢这个
void IntQueue::dequeue(int &num)
{
if (isemp())
cout << "The queue is empty.\n";
else
{
// Move front
front = (front + 1) % queueSize;
// Retrieve the front item
num = queueArray[front];
// Update item count
numItems--;
}
}
或者这个:
void IntQueue::dequeue(int &num)
{
if (isEmpty())
cout << "The queue is empty.\n";
else
{
// Move front
front = (front + 1) % queueSize;
// Retrieve the front item
num = queueArray[front];
// Update item count
numItems--;
}
return isEmpty();
}