基类成员在派生类中的访问属性——总结

首先回顾一下三种成员访问限定符:

public(公用的):既可以被本类中的成员函数所引用,也可以被类的作用域内的其他函数(即类外)引用。

private(私有的):只能被本类中的成员函数引用,类外不能调用(友元类除外)

protected(受保护的):不能被类外访问,但可以在派生类的成员函数访问。

接下来就用一张表总结一下基类成员在派生类中的访问属性:

参考资料:《C++程序设计(第二版)》——谭浩强

时间: 2024-08-24 21:50:36

基类成员在派生类中的访问属性——总结的相关文章

protected 成员与派生类

受保护的成员对于类的用户来说时不可访问的 受保护的成员对于派生类的成员和友元来说是可访问的 其中,只能通过派生类对象来访问基类的受保护成员,派生类对于一个基类对象中的受保护成员没有任何访问特权 eg: class Quote { public: Quote() = default; Quote(const string &book, double sale_price) :bookno(book), price(sale_price) {} string isbn() const { retur

基类指针引用派生类对象

#include<iostream> #include<cstring> using namespace std; class A{ char name[20]; public: void put_name(char *n){ strcpy_s(name, n); } void get_name()const{ cout << name << endl; }; }; class B:public A{ char num[20]; public: void p

基类指针和派生类指针的使用总结

1 基类指针指向基类对象(正常使用) 2 派生类指针指向派生类对象(正常使用,不管是不是虚函数,调用的都是派生类的函数) 3 基类指针指向派生类对象(多态的体现,虚函数的话调用的是派生类的,非虚函数的话调用的是基类的) 4 派生类指针指向基类对象(一般不要这么用) 参考资料: http://blog.csdn.net/monkeyduck/article/details/15506435 [c++]实例演示类继承中派生类到基类的转换及虚函数 基类指针和派生类指针的使用总结

基类指针和派生类指针的使用总结2

为了做图像处理,需要用摄像头,搜到实验室只有一个摄像头,是国安的,具体参数在终端中看到: 本来担心这个摄像头在6410中能不能用,结果插上后得到如上显示,知道该摄像头是uvc的,可用,参考文章链接: http://www.cnblogs.com/emouse/archive/2013/03/03/2941938.html 在网上到处都可以下到ok6410摄像头测试程序,下载链接:http://download.csdn.net/download/harryching/5108478 于是下载后按

C/C++ 类成员函数指针 类成员数据指针

普通函数指针:  "return_type (*ptr_name)(para_types) " 类成员函数指针: "return_type (class_name::*ptr_name)(para_types)" 类数据成员指针: "type class_name::* ptr_name"; C/C++: 1 class Demo 2 { 3 public: 4 Demo():data(100) 5 { 6 7 } 8 int data; 9 i

派生类成员函数调用时 error C2248: 无法访问 protected 成员 的排雷之路

工作需要自定义一个控件,结果调用成员函数总是报错!如下图:理论上继承关系和函数权限public都没有问题,可是只要一使用自定义的成员函数就会报error C2248: 无法访问 protected 成员 ,查了很久资料,总算试出了解决方案,就是加强制声明public:即在成员函数声明时强制在前面加public:,对于上例就是在自定义SetTextEx前面加.如图:原因分析:语法上没有问题就可能是编译器编译时默认给继承类的成员函数都默认加了protected 的属性,虽然是放在public区域,可

c++中派生类对基类成员的三种访问规则(转)

C++中派生类对基类成员的访问形式主要有以下两种:1.内部访问:由派生类中新增成员对基类继承来的成员的访问.2.对象访问:在派生类外部,通过派生类的对象对从基类继承来的成员的访问.今天给大家介绍在3中继承方式下,派生类对基类成员的访问规则. 1.私有继承的访问规则当类的继承方式为私有继承时,基类的public成员和protected成员被继承后成为派生类的private成员,派生类的其它成员可以直接访问它们,但是在类的外部通过派生类的对象无法访问.基类的private成员在私有派生类中是不可直接

C++:基类和派生类

4.1 派生类的声明 继承实例如下: class Person{ //声明基类Person public: void print() { cout<<"name:"<<name<<endl; cout<<"age:"<<age<<endl; cout<<"sex:"<<sex<<endl; } protected: string name;

基类派生类

看了c#的教程,也上网络上搜索基类与派生类的概念,一直没有一个很明确的定义.弄得偶一直很迷糊,现在搜索到c++的教程里倒是有比较明确的说明,特意贴在这里,帮助自己理解. 继承机制提供了无限重复利用程序资源的一种途径. 继承使得我们得以用一种简单的方式来定义新类.如果我们定义了一个哺乳动物类,包括哺乳动物的一些普通属性和方法,然后再定义一个狗类, 有没有必要重头开始定义呢?实际上这是没有必要的,因为狗是哺乳动物的一种特殊动物,定义狗类可以沿用哺乳动物类的所需的属性和方法,只需加上狗的颜色属性和狗尾