c++-C++类的对象问题,到底是创建对象还是局部变量

问题描述

C++类的对象问题,到底是创建对象还是局部变量

我定义了一个Cat类,然后不清楚Cat Frisky与Cat Frisky()的区别,本来以为前者是定义常规局部变量,将调用析构函数,后者是定义的类的对象。刚刚遇到一个前者是创建了一个类对象,实在搞糊涂了。。求大神助攻小白,大恩不言谢!!

解决方案

Cat Frisky; 调用默认构造函数
Cat Frisky(); 调用无参数的构造函数(即默认构造函数)
Cat Frisky(x, y); 调用需要两个参数的构造函数(假设存在该构造函数)
三者都会创建对象

解决方案二:

准确来说构造对象是需要加()显示的告诉编译器你调用了构造函数,不写()的话,编译器会自己处理找你调用的构造函数

解决方案三:

前者是定一个类的实例,缺省构造函数,后者可以传递构造函数参数等

解决方案四:

首先你这个问题就不太对,什么叫“对象”?什么叫“局部变量”?
Cat Frisky与Cat Frisky()都会调用构造函数创建一个Cat类的对象,即实例,至于哪个构造函数就是@xpbobcsdn所说的了。

解决方案五:

a7777777888的回答靠谱的

解决方案六:

我用vs调试了一下,发现Cat Frisky()这种写法属于无效代码一样。

解决方案七:

一个是类的名称,一个是构造函数

解决方案八:

纠正一下,Cat Frisky();这种写法是有问题的,而且编译报错,因为编译器会把他当做函数来处理,所以说如果想显示的调用默认构造就必须用Cat Frisky;

时间: 2024-11-01 17:06:02

c++-C++类的对象问题,到底是创建对象还是局部变量的相关文章

全面理解Java类和对象_java

面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分.在面向对象程序设计(OOP)中,不必关心对象的具体实现.在传统的结构化程序设计中,算法是第一位的,数据结构是第二位的,即首先确定如何操作数,再考虑如何组织数据,以方便操作.而OOP则颠倒了这种次序,将数据放在第一位,然后再考虑操作数据的算法. 一.类 类是构造对象的模板和蓝图.通俗地说,类相当于建筑的图纸,而对象相当于建筑物.由类构造对象的过程称为创建对象的实例. Java中通过关键字class定义"类"

JS创建类和对象

JavaScript 创建类/对象的几种方式 在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量名存储和访问,换一种思路,对象是一个无序的属性集合,集合中的每一项都由名称和值组成(听起来是不是很像我们常听说的HASH表.字典.健/值对?),而其中的值类型可能是内置类型(如number,string),也可能是对象. 一.由一对大括号括起来     

Java千百问_05面向对象(001)_类、对象到底有什么秘密

1.类.对象的概念是什么 Java是目前应用最为广泛的面向对象特的语言,它具有以下基本概念: 类 对象 方法 抽象化 多态性 继承 封装 我们首先看看类和对象的概念. 类 类是一个模版.是一个可以定义一类具有相同属性.行为的模版.  例如:狗是一个类,它具有四肢.尾巴.头.脊椎等属性,具有吠叫.吃.繁殖等行为. 对象 对象是一个具体实例.根据是一个类的具体实例.  例如:我家对门养的一只狗,具体到了某一只. 2.Java如何定义类 类的定义如下︰ public class Dog{ String

小妹问哈字: 我做的异步程序,有3异步类和1个主程序mainform他们之间传递属性类的对象作为参数, 运行时报错" 该对象已在其他地方使用"

问题描述 小妹问哈字:我做的异步程序,有3异步类和1个主程序mainform他们之间传递属性类的对象作为参数,运行时报错"该对象已在其他地方使用",是不是因为我传进异步类的参数在其他类里也同时在使用啊,怎么弄啊3个异步类:diplayProcessprintProcessefficiencyProcess4个相对应的属性类:displayParametersprintParametersefficiencyParameterscontainerParameters//这个是在3个异步类

《OOD启思录》—第2章2.1节类和对象导引

第2章 类和对象:面向对象范型的建材OOD启思录2.1 类和对象导引面向对象范型使用类和对象的概念作为基本建筑材料.应用程序的分析.设计.实现模型一致地使用这些概念.通过现实世界中的例子来解释这些概念是最佳方案.如果有一屋子的人,你问:"给你们所需的全部零件,谁能装配出一只闹钟"?最多有一两个人会举手.但如果你问他们"这个房间里谁能够把闹铃设到早上9点",那么我可以放心地和你打赌,大多数人都会举手.大多数人会使用闹钟,但不会装配闹钟,这难道不荒谬吗?对这个问题,你最

java private-java 一个类的对象访问私有属性的问题

问题描述 java 一个类的对象访问私有属性的问题 public class ModifierTest1 { public static void main( String[] args ) { A a = new A(); //System.out.println(a.s); a.f(); } } class A { private int i; private String s; public A() { i = 123; s = "hello"; } public void f(

PHP的类与对象

自 PHP 5 起完全重写了对象模型以得到更佳性能和更多特性.这是自 PHP 4 以来的最大变化.PHP 5 具有完整的对象模型.  PHP 5 中的新特性包括访问控制,抽象类和 final 类与方法,附加的魔术方法,接口,对象复制和类型约束.  PHP 对待对象的方式与引用和句柄相同,即每个变量都持有对象的引用,而不是整个对象的拷贝.   属性: 类的变量成员叫做属性 属性声明关键字可以是public protected private 属性中的变量是可以初始化的但初始话必须是常数不能是计算式

PHP面向对象编程详解:类和对象

PHP面向对象编程详解:类和对象 从OOP的视角看,不应区分语言.无论是C++.无论是Java.无论是.net还有更多面向对象的语言,只要你了解了OO的真谛,便可以跨越语言,让你的思想轻松的跳跃.便没有对于Java..net.PHP 之间谁强谁弱的争执了. 希望这个介绍PHP5面向对象编程(OOP)的资料能让初学者受益,能让更多的PHPer开始转向OO的编程过程. 相对PHP4,PHP5在面向对象方面改变了很多.我们将只介绍PHP5环境下的面向对象.而我们必须改变自己来跟随PHP5的发展.如果代

PHP类和对象函数实例详解

1. interface_exists.class_exists.method_exists和property_exists:         顾名思义,从以上几个函数的命名便可以猜出几分他们的功能.我想这也是我随着对PHP的深入学习而越来越喜欢这门编程语言的原因了吧.下面先给出他们的原型声明和简短说明,更多的还是直接看例子代码吧. bool interface_exists (string $interface_name [, bool $autoload = true ]) 判断接口是否存在