亦谈c++中的类型转换

博客涉及C和C++编程相关内容,包含class、float、null等元素,这些是信息技术领域编程中常用的概念和关键字,在软件开发等方面有重要应用。
1 、基本类型转换  
这是最常见的类型转换。 
1.1 int to float(or double) 
eg:  int ia = 10; 
     double da = (double)(ia); 
     da = 10.0000000000000000; 
      
        1.2  double or float  to int 
     double da = 10.08 
     double da1 = 10.99 
     int ia = int(da); 
     ia = 10; 
     int ia1 = int(da1); 
     ia1 = 10; 
 
 
2          类转换  
定义两个类: A, B;
class A
{
public:
private:    A * next;
  int a;
int b;
}
 
class B: public A
{
  private:
    int *c;
}
 
如果一个链表中多数节点的类型为 A ,但有的节点类型为 B ,此时为了部浪费空间,不能全部使用 B 作为所有节点的类型,而应以 A 作为所有节点类型。  
Eg  
  A *link;
  链表 link 已经有 3 A 类型的节点,我们在链表尾上插入一个 B 类型的节点,先生成 B *node = new B();
  node 的成员赋值,此时要转换为 A 类型才能插入链表中 :
  A *temp = NULL;
  temp = (A *)( node );
此时把 temp 插入链表尾即可。  
 
当要使用 B 类型的节点 node1 时,根据 A 类型的数据成员判断节点为 B 类型(插入 B 类型节点时设置信息),然后把节点转化为 B 类型。  
B *btemp = NULL;
btemp = (B *)( node 1);
此时 node1 转化成 B 类型,可以使用成员 c 了。  
 
3          内存地址和类转换。  
定义一个类 C  
class C
       {
       public:
              int a;
             int b;
      }
 
C *link2 = new C [ 5 ];
设置一个变量 : int var;
var = int ( &link2);
在这个程序的其他地方要使用 link2 时,进行转换。  
C *temp = (C *)(var);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值