设为首页 加入收藏

TOP

关于构造函数c++
2014-04-06 17:36:00 来源: 作者: 【 】 浏览:106
Tags:关于 构造 函数

  关于构造函数 c++

  class F {

  public:

  F() {}

  F(int) {}

  void f() {}

  };

  void test() {

  F f1;

  F f2();

  f1.f();   //可以正常执行

  f2.f();   //会报错,因为编译认为F f2();是定义了一个返回值为F类型的函数,f2并不是F的对象,也无f()方法。

  }

  关于 new F() 和 new F 的区别。

  class F {

  public:

  int a;

  int b;

  };

  void test() {

  F *f1 = new F;

  F *f2 = new F();

  cout 《 f1->a 《 endl; //此时输出值为不确定的,根据内存状态而定

  cout 《 f2->a 《 endl; //此时是输出0;

  // 这是因为当F时PoD类型时,其成员变量会初始化;

  // POD类型是指一个类或对象,其成员是原生数值类型(int, unsigned char, float, bool等等)

  // 或者另外一个POD类型。POD对象看起来像C语言风格的结构对象

  }

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇结构体自动化转为char数组 下一篇C++深度拷贝与构造函数的异常

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)