小编Aut*_*ern的帖子

为什么我可以在C++ 11中使用const函数修改类?

我是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)

c++ c++11

7
推荐指数
2
解决办法
476
查看次数

标签 统计

c++ ×1

c++11 ×1