【ThinkingInC++】36、联合体

/**
* 书本:【ThinkingInC++】
* 功能:联合
* 时间:2014年9月6日14:51:40
* 作者:cutter_point
*/

#include<iostream>

using namespace std;

union U
{
private:
    int i;
    float f;
public:
    U(int a);
    U(float b);
    ~U();
    int read_int();
    float read_float();
};

U::U(int a)
{
    i=a;
}

U::U(float b)
{
    f=b;
}

U::~U()
{
    cout<<"U::~U()\n";
}

int U::read_int()
{
    return i;
}

float U::read_float()
{
    return f;
}

int main()
{
    U X(12), Y(1.9f);
    cout<<X.read_int()<<endl;
    cout<<X.read_float()<<endl;
    cout<<Y.read_int()<<endl;
    cout<<Y.read_float()<<endl;

    return 0;
}

时间: 2024-08-08 18:46:47

【ThinkingInC++】36、联合体的相关文章

【ThinkingInC++】14、联合体使用

/** * 功能:联合体使用 * 时间:2014年8月13日08:55:39 * 作者:cutter_point */ #include<iostream> #include<stdlib.h> using namespace std; union Packed { char i; short j; int k; long l; float f; double d; //这个联合体会用里面最大的变量需求的空间作为联合体的空间 //这里联合体的空间大小是double的大小 }; in

【ThinkingInC++】26、下推栈(push_down stack)不会越出内存

头文件 /** * 功能:下推栈(push_down stack)不会越出内存 * 时间:2014年8月18日08:13:36 * 作者:cutter_point */ #ifndef STACK_H_INCLUDED #define STACK_H_INCLUDED struct Stack { struct Link { void* data; //这个结构的数据 Link* next; //这个指向这种结构的指针 void initialize(void* dat, Link* nxt);

【ThinkingInC++】9、按值传递,拷贝复制过去

/** * 功能:按值传递,拷贝复制过去 * 时间:2014年8月11日09:34:36 * 作者:cutter_point */ #include<iostream> using namespace std; void fun1(int x) { cout<<" x= "<<x<<endl; x=7; cout<<" x= "<<x<<endl; } int main() { in

20160403_联合体的本质和使用 &amp; 与struct的不同 &amp; 大端存储和小端存储

/************* 联合体的本质和使用 及 与struct的不同 及 大端存储和小端存储 ************ “联合体”(union)与“结构体”(struct)有一些相似之处.但两者有本质上的不同. [相似] union,中文名“联合体.共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量. [不同] 在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和.而在“联合”中,各

【ThinkingInC++】45、比较const和非const成员函数的例子

/** * 书本:[ThinkingInC++] * 功能:旧代码中的enum hack * 时间:2014年9月10日08:35:13 * 作者:cutter_point */ #include<iostream> #include<ctime> #include<cstdlib> using namespace std; class Bunch { enum {size=1000}; int i[size]; }; int main() { cout<<

adb server version (31) doesn’t match this client (36); killing… 的解决方法

今天折腾了一下Android studio,好不容易搞完了,结果在运行adb命令的时候出错了 不要着急,我们先看下这个错误是怎么出现的. 1.搞完Android studio之后也升级使用了新的sdk,并配置了环境变量 2.启动了第三方模拟器 3.之后用adb devices命令就出现了上图的错误 从报错的原因来看应该是版本不一致导致的,大概的意思是说你现在的adb版本是31,但是你client端的却是36(这里的client端我猜就是第三方的模拟器)不匹配啊. 尝试解决下,既然版本不一致,那就

《电脑报》2017年第36期

下载地址: 电脑报 17年第36期.pdf

cogs 36.求和问题

36. 求和问题 ★   输入文件:sum.in   输出文件:sum.out   简单对比时间限制:1.2 s   内存限制:128 MB [问题描述] 在一个长度为n的整数数列中取出连续的若干个数,并求它们的和. [输入格式] 输入由若干行组成,第一行有一个整数n    第二行有n个整数    第三行有一个整数m    下面m行,每行两个整数i与j(i<=j),表示求和的起始和终止位置. [输出格式] 输出有m行, 每行一个整数,表示这个数段数列的和. [输入样例] 输入文件 82 3 4

彩票生成器--36选7(不重复)

import java.util.Random; public class suijishu { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 //36选7,不重复 //第一步,初始化 定义数组,建随机数组生成器 int []caiPiao=new int[7]; Random ran = new Random(); //第二步,生成 //随机生成7个数 for(int i=0;i<