菜鸟之路-09
来源:互联网 发布:手机屏幕亮度调节软件 编辑:程序博客网 时间:2024/06/07 18:50
#import <Foundation/Foundation.h>
@interface Person :NSObject{
@public
NSString *_name;
int _age;
}
@end
@implementation Person
@end
@interface Dog : NSObject{
@public
NSString *_color;
}
-(Person *)lab;
@end
@implementation Dog
//-(类名 *)方法名:参数列表
-(Person *)lab{
Person *p=[Personnew];
p->_name=@"黄瓜";
p->_age =16;
return p;
}
@end
int main(int argc,const char * argv[]) {
@autoreleasepool {
Dog *d =[Dognew];//只要是new就开辟了新的堆内存空间
Person *p1= [dlab];//只要是new就开辟了新的堆内存空间 此处调用了Person new
NSLog(@"姓名:%@ 年龄:%d",p1->_name,p1->_age);
Person *p2=[dlab];//只要是new就开辟了新的堆内存空间 此处调用了Person new
p2->_age=19; //改变了p2所指的堆空间里面的成员变量,因为这个是引用传递,所以相应的堆空间里面的成员变量也会改变。
p2->_name =@"黄豆";
NSLog(@"姓名:%@ 年龄:%d",p2->_name,p2->_age);
Person *p3 =[d lab];
Person *p4 =p3;
NSLog(@"姓名:%@ 年龄:%d",p4->_name,p4->_age);
p3->_name =@"黄毛";
p3->_age =17;//为什么这里改变了p3所指的成员变量的值,p4的成员变量值夜改变了,因为p3和p4所指的堆空间是相同的,无论修改p3 p4他们的值都会发生改变。
NSLog(@"姓名:%@ 年龄:%d",p4->_name,p4->_age);
}
return 0;
}
- 菜鸟之路-09
- 菜鸟菜鸟菜鸟菜鸟编程之路
- 菜鸟成长之路
- 菜鸟成长之路
- C++ 菜鸟之路
- unity菜鸟之路
- 菜鸟之路
- 菜鸟路之hibernate
- 菜鸟之路-01
- 菜鸟之路-02
- 菜鸟之路-03
- 菜鸟之路-04
- 菜鸟之路-05
- 菜鸟之路-06
- 菜鸟之路-07
- iOS菜鸟之路
- 菜鸟之路
- javascript菜鸟之路
- 开发 Spring Redis 应用程序
- hibernate注解
- 集合类学习笔记
- 两个链表的第一个公共结点
- RunTime
- 菜鸟之路-09
- dubbo连接池爆满
- 关于UIview UIlabel Unbutton 的一些常用的属性方法(用以优化界面)
- 关于Intent用法的几点学习笔记
- Ubuntu下将XPS文件转换成PDF文件
- C++语言基础内容
- hibernate配置文件hibernate.cfg.xml的详细解释
- hibernate二级缓存 Ehcache配置详解
- Android之如何解决Android Studio左边的的project不见了