c++中的成员选择符

c++中支持仅能指向类成员的指针,对这种类型的指针进行数据的提取操作时,可使用如下两种类型的操作符:成员对象选择操作符.* 和 成员指针选择操作符->*

举例:

#include <iostream>
using namespace std;
struct C
{
    int x;
    float y;
    float z;
};
int main()
{
    float f;
    int* i_ptr;

    C c1, c2;

    float C::*f_ptr; // a pointer to a float member of C
    f_ptr = &C::y;  //point to C member y
    c1.*f_ptr = 3.14; // set c1.y = 3.14
    c2.*f_ptr = 2.01; // set c2.y = 2.01

    f_ptr = &C::z;  // point to C member z
    c1.*f_ptr = -9999.99; //set c1.z = -9999.99

    f_ptr = &C::y; //point to C member y
    c1.*f_ptr = -777.77; // set c1.y

    f_ptr = &C::x; // ****Error: x is not float****

    f_ptr = &f; // ****Error: f is not a float member of C****

    i_ptr = &c1.x; //c1.x is an int

    //...

    return 0;
}

  

时间: 2024-07-31 06:22:26

c++中的成员选择符的相关文章

CSS设计指南之上下文选择符

假定有如下场景:你想分别给article和aside中的段落文本,分别设置不同的字号.像这种"基于位置"变换标签样式的问题,可以用上下文选择符来解决. 1.普通的上下文选择符 格式:标签1 标签2 {声明} 标签2就是我们想要选择的目标,而且只有在标签1是其祖先元素(不一定是父元素)的情况下才会被选中. article p{color:Red;} 这个例子中的上下文选择符表明,只有是article后代的p元素才会应用后面的样式 2.子选择符 > 格式:标签1 > 标签2 {

CSS_css选择符

1.通配选择符语法: * { sRules } 说明:通配选择符.选定文档目录树(DOM)中的所有类型的单一对象.假如通配选择符不是单一选择符中的唯一组成,"*"可以省略. 示例: *[lang=fr] { font-size:14px; width:120px; } *.div { text-decoration:none; } 2.类型选择符语法: E { sRules } 说明:类型选择符.以文档语言对象(Element)类型作为选择符. 示例: td { font-size:1

CSS那些事儿-阅读随笔2(选择符的组合与权重)

在知道了CSS选择符最基础的知识后,就要综合利用它们了.这里就记录几种常见的用法. 1.针对性的使用类选择符或者ID选择符 类选择符在一个页面中可能会在不同的地方应用,那么就需要有针对性地使用类选择符.如下例: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>css-test</title&

(004)CSS选择符(selector)

一.引言 选择符,顾名思义,用于从XHTML文档中选择元素.选择符有很多种,各有其不同的具体性,可以确定一大批元素或仅仅少数几个元素.具体性是度量选择符的作用范围的手段.所谓作用范围,换句话说,指的是选择符选择了多少元素.在CSS的设计原则中,比较具体的选择符将凌驾于较不具体的选择符之上并取而代之.具体性是CSS中较为含糊和难以掌握的概念之一,但也是这种语言中最强大的特性之一. 二.全体选择符 全体选择符是一个星号(*).它充当一个“通配符(wild card)”,选择文档中的每一个元素. 三.

文成小盆友python-num8 面向对象中的成员,成员修饰符,特殊成员,异常处理,设计模式之单例模式

本节主要内容: 1.面向对象中的成员 2.成员修饰符 3.特殊成员 4.异常处理 5.设计模式之单例模式 一.面向对象中的成员(类的成员) 类的成员总共可以分为3大类,每类中有不同的分支. 1.总述,基本分类 如下图所示: 类成员包括字段,方法,和属性 2.字段 如上图字段分为普通字段和静态字段,两者的使用有区别,但是最大的区别在于两者在内存中的保存位置有区别. 普通字段属于对象而静态字段属于类,在使用过程中谁的字段就由谁来调用. 静态字段和普通字段的定义如下: 在调用时分各自调用 #####类

java中的类修饰符、成员变量修饰符、方法修饰符。

类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final,将一个类生命为最终(即非继承类),表示他不能被其他类继承. friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类. 成员变量修饰符: public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问. private(私有访问控制符)指定该变量只允许自己的类的方法

Python_day8_面向对象(多态、成员修饰符、类中特殊方法、对象边缘知识)、异常处理之篇

一.面向对象之多态 1.多态:简而言子就是多种形态或多种类型 python中不支持多态也用不到多态,多态的概念是应用与java/C#中指定传参的数据类型, java多态传参:必须是传参数的数据类型或传参的子类类型 面向对象总结: 面向对象是一种编程方式,此编程方式的实现是基于类和对象的使用 类:是一个模板,模板中包含了多个函数共使用,即类中可包含多个函数(类中的函数即叫做方法) 一般疑问: 1)什么样的代码才是面向对象? 简单来说,如果程序中的所有功能否是由 “类”和“对象”实现,那么就是面向对

java面向对象学习之——java中的类修饰符、成员变量修饰符、方法修饰符

类修饰符: public(访问控制符)-->将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类.abstract-->将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现.final-->将一个类生命为最终(即非继承类),表示他不能被其他类继承.friendly-->默认的修饰符,只有在相同包中的对象才能使用这样的类. 成员变量修饰符: public(公共访问控制符)-->指定该变量为公共的,他可以被任何对象的方法访问.private(私有访问控制符

面向对象中的特殊的成员修饰符和几个特殊的方法

面向对象的成员修饰符 #Auther Bob #--*--conding:utf-8 --*-- # 成员修饰符 # 共有成员 # 私有成员 # 1.私有字段 # 私有的普通字段 # 私有的静态字段 # 2.私有方法 # 私有的方法 # 默认情况下,类的字段和方法都是共有的,通过对象和类就直接可以访问,但是如果我们在字段或者方法名字的前面加2个下划线,那么我们就不能在外部访问这些字段和方法,这些 # 方法和字段只能内部方法 class person(object): name = "diandi