c++ - 更改程序中的访问说明符是否会改变程序的行为?

标签 c++ c++11

我想知道在 C++ 程序中是否存在更改代码中的访问说明符(公共(public)/ protected /私有(private))会导致该程序行为发生变化的情况?

最佳答案

模板允许您根据成员或方法是否可访问来执行不同的操作。作为一个随机示例,请考虑以下内容:

#include <type_traits>
#include <iostream>

struct foo_private {
    private:
        foo_private() {}
};
struct foo_public {
    public:
        foo_public() {}
};

int main() {        
    std::cout << std::is_default_constructible<foo_private>::value;
    std::cout << std::is_default_constructible<foo_public>::value;       
}

关于c++ - 更改程序中的访问说明符是否会改变程序的行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55525111/

相关文章:

c++ - 设置回调函数,它是类的非静态成员函数

c++ - 实现手写动态数组的插入数组方法 - C++

c++ - 检查两个(智能)指针是否指向同一个派生类

c++ - 作为模板参数的函数的多态签名(使用 lambda)

c++ - 从包含该成员的类的 vector 中提取特定成员的 vector 时如何避免显式循环

c++ - 编写表示该类型是 std::vector 的概念的惯用方式

c++ - Lua:将外部函数定义重定向到指定表

c++ - 如何使用 HOG 描述符检测图像中的对象?

c++ - 如何在 C++ 中对映射中的值进行排序

c++ - 将可变参数模板粘合到可变参数函数