C++中虚构造函数及其用途

如题所述

构造函数 是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值
总与new运算符一起使用在创建对象的语句中 特别的一个类可以有多个构造函数 可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载
构造函数与其他方法的区别
1.构造函数的命名必须和类名完全相同;而一般方法则不能和类名相同.
2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.
3.构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用,一般方法在程序执行到它的时候被调用.
4.当定义一个类定义的时候,通常情况下都会显示该类的构造函数,并在函数中指定初始化的工作也可省略不去Java编译器会提供一个默认的构造函数.此默认构造函数是不带参数的.而一般方法不存在这一特点
#include <iostream>
using namespace std;
class time
{
public:
time() //constructor.构造函数
{
hour=0;
minute=0;
sec=0;
}
void set_time();
void show_time();
private:
int hour;
int minute;
int sec;
};
int main()
{

time t1;
t1.set_time();
t1.show_time();
time t2;
// t2.set_time();
t2.show_time();
return 0;
}
void time::set_time()
{
cin >>hour;
cin >>minute;
cin >>sec;

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-10-20
虚构函数本生并不删除对象
而是做内存放弃对象前的清理工作
使内存可以存放其他数据

虚构函数没有形参
class a
{
public:
a(){//}
~a(){//} 虚构函数
}

一般来说虚构函数不需要自行定义或声明
只是在验证其调用时间时,在函数体里写一句输出语句

另外 虚构函数可以定义为虚函数
此时 其类的派生类对象可以调用基类的虚构函数(必须是公有派生的虚函数,构造函数不能这样用)本回答被网友采纳
第2个回答  2013-10-20
虚构造函数
对于不同的类对象可以自动调用构造函数
这样可以简便编写

C++中虚构造函数及其用途
2.构造函数的功能主要用于在类的对象创建时定义初始化的状态.它没有返回值,也不能用void来修饰.这就保证了它不仅什么也不用自动返回,而且根本不能有任何选择.而其他方法都有返回值.即使是void返回值,尽管方法体本身不会自动返回什么,但仍然可以让它返回一些东西,而这些东西可能是不安全的.3.构造函数...

C++中虚函数的作用是什么?它应该怎么用呢?
C++中虚函数的作用:1、简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。2、实现多态性,多态性是将接口与实现进行分离。3、当基类指针指向一个子类对象,通过这个指针调用子类和基类同名成员函数的时候,基类声明为虚函数就会调子类的这个函数,不声明就会调用基类的。C++中虚函数的用法:1、...

C++中虚函数的作用和虚函数的工作原理
虚函数在C++中实现多态性,主要作用在于实现动态绑定。基类定义虚函数,子类可以重写该函数。当子类重新定义了父类的虚函数后,当父类的指针指向子类对象的地址时,程序根据对象的实际类型动态调用子类的该函数,而不是父类的函数。这种动态调用发生在运行阶段,称为动态联编。非虚函数的静态联编效率更高,...

C++ 虚函数简介!程序员必学知识,掌握编程从对象开始!
本文深入探讨了C++中的虚函数实现机制。首先,通过一个具体的代码示例,我们了解到对象的内存布局以及虚函数表的作用。在对象初始化过程中,编译器自动在对象头部添加一个虚表指针,该指针指向虚函数表,虚函数表中存放了所有虚函数的地址。这个过程确保了在运行时根据动态类型调用正确的虚函数。通过分析CBas...

如何对C++虚基类构造函数
C++规定,虚基类子对象是由最派生类的构造函数通过调用虚基类的构造函数进行初始化的。如果一个派生类有一个直接或间接的C++虚基类,那么派生类的构造函数的成员初始列表中必须列出对虚基类构造函数的调用。如果未被列出,则表示使用该虚基类的缺省构造函数来初始化派生类对象中的虚基类子对象。从虚基类...

析构函数和虚函数的用法和作用
置于“~”是析构函数;析构函数因使用"~"符号(逻辑非运算符),表示它为腻构造函数,加上类名称来定义。;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。有适放内存空间的做用!虚函数是C++多态的一种表现...

请问高手,C++虚函数表是什么?怎么用啊?
虚函数的定义 虚函数用来表现基类和派生类的成员函数之间的一种关系. 虚函数的定义在基类中进行,在需要定义为虚函数的成员函数的声明前冠以关键字 virtual. 基类中的某个成员函数被声明为虚函数后,此虚函数就可以在一个或多个派生类中被重新定义. 在派生类中重新定义时,其函数原型,包括返回类型,函数...

c++什么叫构造函数,它的作用是什么
c++类的构造函数详解 一、 构造函数是干什么的class Counter{public: \/\/ 类Counter的构造函数 \/\/ 特点:以类名作为函数名,无返回类型 Counter() { m_value = 0; } private: \/\/ 数据成员 int m_value;} 该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数->由构造函数完成成员的初始化工作...

在C++中,能否声明虚构函数?为什么?能否声明虚析构函数?为什么_百度知...
原因如下:在C++-中不能声明虚构造函数,多态是不同的对象对同一消息有不同的行为特性,虚函数作为运行过程中多态的基础,主要是针对对象的,面构造函数是在对盘产生之前运行的,因此虚构造函数是没有童义的。在C++中可以声明虚析构函数,析构函数的功能是在该类对象消亡之前进行一些必要的清理工作,如果...

c++经典面试题及答案
1. C++的类和C里面的struct有什么区别?struct成员默认访问权限为public,而class成员默认访问权限为private 2. 析构函数和虚函数的用法和作用 析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。虚函数是指被关键字virtual说明的函数,作用是使用C++语言的多态特性 3. 全局变量...

相似回答