我是CPP的新手,我不知道为什么setValue() const同时它是一个const.
为什么该类允许修改 const public
看起来很奇怪,g ++ -Wall或MS Visual C++没有错误
这是我的代码:
main.cpp中
#include <iostream>
#include <cassert>
#include "DArray.h"
int main(void)
{
DArray darray(1);
darray.setValue(0, 42);
assert(darray.getValue(0) == 42);
darray.~DArray();
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
DArray.h
class DArray
{
private:
int* tab;
public:
DArray();
DArray(unsigned int n);
~DArray();
int& getValue(unsigned int n) const;
void setValue(unsigned int n, int value) const;
};
Run Code Online (Sandbox Code Playgroud)
DArray.cpp
#include "DArray.h"
DArray::DArray()
{
}
DArray::DArray(unsigned int n)
{
tab = new int[n];
}
DArray::~DArray()
{
delete[] tab; …Run Code Online (Sandbox Code Playgroud)