访问class中的保护对象的方法

#include <windows.h>
#include <iostream>

using namespace std;

DWORD WINAPI ThreadProc(LPVOID Param);

class MyClass
{
public:
MyClass()
{
m_1 = 10;
m_2 = 20;
m_3 = -30;
}
int m_1;

int GetMember()
{
return m_3;
}
protected:
int m_2;
private:
int m_3;
};

int main()
{

MyClass Object;

HANDLE ThreadHandle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadProc, &Object, 0, NULL);

WaitForSingleObject(ThreadHandle, INFINITE);
return 0;
}

DWORD WINAPI ThreadProc(LPVOID Param)
{

printf("%d\r\n", ((MyClass*)Param)->m_1);
printf("%d\r\n", *((int*)Param + 1)); //方法1.通过暴力内存
printf("%d\r\n", ((MyClass*)Param)->GetMember());//方法2.提供read的接口函数

return 0;
}

时间: 2024-10-08 10:29:08

访问class中的保护对象的方法的相关文章

Floodlight 中创建消息对象的方法

在 floodlight 中创建各种openflow message 和 action 等采用的是简单工厂方式,BasicFactory类(实现OFMessageFactory接口,)会根据消息的类型创建不同的对象,达到更好的封装效果:此外这里调用的是枚举类型的方法.下面是具体代码: ----------工厂接口,还有OFActionFactory,约束需要具体工厂完成的事情 public interface OFMessageFactory { // 根据消息类型得到具体的实例 public 

在JavaScript中重写jQuery对象的方法

jQuery是一个很好的类库,它给我们解决了很多的客户端编程,任何东西都不是万能的,当它不能满足我们的需求时我们需要对它进行重写,同时也不要影响其原有的功能或者修改其原有的功能:我现在的web应用程序大多数时候的数据交互都是通过Ajax来完成的,这样就可以将一些隐藏字段的数据保存在HTML标签的属性中,使HTML标签的代码量减少,如:ID,Timestamp等等,这些不需要用户输入但又不得不提交的字段,通过表单提交的做法是 <input name="ID" value="

JavaSE8基础 同一个类下可以访问 默认/私有/受保护/公有的方法

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: class Demo { void showDefault() { System.out.println("showDefault"); } private void showPrivate() { System.out.println("showPrivate"); } pro

JavaScript中创建自定义对象的方法

本文内容参考JavaScript高级程序设计(第3版)第6章:面向对象的程序设计 ECMA-262中把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.”我所理解的就是对象就是一个结构体,结构体中有一些它的基本属性以及对结构体处理的方法,把它们封装起来称为一个整体.JS中所有的对象都是基于一个引用类型创建,这个引用类型可以是原生类型,如Array,Date等,也可以是开发人员自定义的类型. 下面主要总结下JS中创建对象的几种模式,分析他们各自的优缺点. 1. 工厂模式 /****

Java中遍历Map对象的方法

方法一: 在for-each循环中使用entries来遍历 这是最常见的遍历方式,在需要获取key和value时使用. Map<Integer, Integer> map = new HashMap<Integer, Integer>(); for (Map.Entry<Integer, Integer> entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() +

javascript中的Array对象的方法

检测数组:只考虑一个全局作用域的情况下可以使用value instanceof Array 来判断一个对象是否是数组:如果要考虑多个全局的作用域,则使用Object.prototype.toString.call(value) == "[object Array]" 转换方法:toString toLocaleString  join 栈方法:(后进先出)在数组末尾插入一项,在数组末尾弹出一项.push:在数组末尾插入一项或多项,并返回现在的数组长度:pop:弹出数组最后一项,并返回.

Javascript 中创建自定义对象的方法(设计模式)

Javascript 中创建对象,可以有很多种方法. Object构造函数/对象字面量: 抛开设计模式不谈,使用最基本的方法,就是先调用Object构造函数创建一个对象,然后给对象添加属性. 1 var student = new Object(); 2 student.name = "xiao ming"; 3 student.age = 20; 4 student.getName = function () { 5 alert(this.name); 6 } 熟悉javascrip

JavaScript中的string对象及方法

string对象 string对象的两种创建 var a="hello"; var b=new String("hello"); //下面是方法 //charAt()根据下标 找字符串中的字符  alert(a.charAt(3));//根据下标返回字符串某个字符  alert(a.charAt(10));//空的,找不到这个下标 //charCodeAt()返回指定位置的字符   var a="Hello world!Hello world!"

js中的数组对象排序(方法sort()详细介绍)

定义和用法 sort() 方法用于对数组的元素进行排序. 语法    arrayObject.sort(sortby) 参数sortby:可选.规定排序顺序.必须是函数. 返回值 对数组的引用.请注意,数组在原数组上进行排序,不生成副本. 普通数组排序: js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: 字母A.B的ASCII值分别为65.66,而a.b的值分别为97.98,所