c++学习之构造函数
#include<stdio.h> class Test { private: int i; int j; int k; public : void initialize() { i=0; j=1; k=2; } void print() { printf("i=%d,j=%d,k=%d",i,j,k); } }; ///分号至关重要 int main() { Test t1; t1.initialize(); ///构造函数 t1.print(); return 0; }
使用构造函数
#include<stdio.h> class Test { private: int i; int j; int k; public : Test(int v) ////与类名相同 { ////构造函数定义时可以有参数 不可以有返回类型 ////无返回类型 与返回类型为void 不相同 i=j=k=v; } void print() { printf("i=%d ,j=%d ,k=%d \n",i,j,k); } }; ///分号至关重要 int main() { Test t1(1); ///自动调用构造函数 Test t2=2; ///构造函数 Test t3= Test(3); t1.print(); t2.print(); t3.print(); Test TA[3]={Test(1),Test(2),Test(3)}; for (int i=0; i<3; i++) { TA[i].print(); } return 0; }
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关推荐
-
详解C++中如何将构造函数或析构函数的访问权限定为private
今天面试被问到了这个单例模式常用到的技术手段,下面进行分析: 很多情况下要求当前的程序中只有一个object.例如一个程序只有一个和数据库的连接,只有一个鼠标的object.通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?这意味着什么? 当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造函数是私有的,由于在class外
-
浅谈C++中的构造函数分类及调用规则
构造函数的分类 这里简单地将C++中的构造函数分一下类,直接看下面的代码表达,说明在注释中: #include <iostream> using namespace std; class Text { public: Text() // 无参数构造函数 { m_a = 0; m_b = 0; cout << "无参数构造函数" << endl; } Text(int a) // 有参数构造函数 { m_a = a; m_b = 0; cout <
-
C++中构造函数重载
#include<stdio.h> class Test { private: int i; int j; int k; public: Test() { i=j=k=0; } Test(int v) { i=j=k=v; } void print() { printf("i= %d, j=%d, k=%d \n",i,j,k); } }; int main() { Test t1(1); Test t2=2; Test t3=Test(3); t1.print(); t2
-
深入讲解C++中的构造函数
C++构造函数 当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等.为了解决这个问题,C++提供了构造函数. 构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用),而是在创建对象时自动执行.构造函数的作用是在创建对象时进行初始化工作,最常见的就是对成员变量赋值. 一个构造函数的例子: #include <iostream> using namespace std; class Student{ private:
-
深入解析C++中派生类的构造函数
基类的构造函数不能被继承,在声明派生类时,对继承过来的成员变量的初始化工作也要由派生类的构造函数来完成.所以在设计派生类的构造函数时,不仅要考虑派生类新增的成员变量,还要考虑基类的成员变量,要让它们都被初始化. 解决这个问题的思路是:在执行派生类的构造函数时,调用基类的构造函数. 下面的例子展示了如何在派生类的构造函数中调用基类的构造函数. #include<iostream> using namespace std; //基类 class People{ protected: char *n
-
详解C++编程中多级派生时的构造函数和访问属性
C++多层派生时的构造函数 一个类不仅可以派生出一个派生类,派生类还可以继续派生,形成派生的层次结构.在上面叙述的基础上,不难写出在多级派生情况下派生类的构造函数. 通过例下面的程序,读者可以了解在多级派生情况下怎样定义派生类的构造函数.相信大家完全可以自己看懂这个程序. [例] 多级派生情况下派生类的构造函数. #include <iostream> #include<string> using namespace std; class Student//声明基类 { publi
-
详解C++中对构造函数和赋值运算符的复制和移动操作
复制构造函数和复制赋值运算符 从 C++ 11 中开始,该语言支持两种类型的分配:复制赋值和移动赋值. 在本文中,"赋值"意味着复制赋值,除非有其他显式声明. 赋值操作和初始化操作都会导致对象被复制. 赋值:在将一个对象的值赋给另一个对象时,第一个对象将复制到第二个对象中. 因此, Point a, b; ... a = b; 导致 b 的值被复制到 a 中. 初始化:在以下情况下将进行初始化:声明新对象.参数通过值传递给函数或值通过值从函数返回. 您可以为类类型的对象定义"
-
解析C++中多层派生时的构造函数及一些特殊形式
C++多层派生时的构造函数 一个类不仅可以派生出一个派生类,派生类还可以继续派生,形成派生的层次结构.在上面叙述的基础上,不难写出在多级派生情况下派生类的构造函数. 通过例下面的程序,读者可以了解在多级派生情况下怎样定义派生类的构造函数.相信大家完全可以自己看懂这个程序. [例] 多级派生情况下派生类的构造函数. #include <iostream> #include<string> using namespace std; class Student//声明基类 { publi
-
C++类成员构造函数和析构函数顺序示例详细讲解
对象并不是突然建立起来的,创建对象必须时必须同时创建父类以及包含于其中的对象.C++遵循如下的创建顺序: (1)如果某个类具体基类,执行基类的默认构造函数. (2)类的非静态数据成员,按照声明的顺序创建. (3)执行该类的构造函数. 即构造类时,会先构造其父类,然后创建类成员,最后调用本身的构造函数. 下面看一个例子吧 复制代码 代码如下: class c{public: c(){ printf("c\n"); }protected:private:}; class b {pub
-
完全掌握C++编程中构造函数使用的超级学习教程
构造函数是一种可初始化其类的实例的成员函数.构造函数具有与类相同的名称,没有返回值.构造函数可以具有任意数量的参数,类可以具有任意数量的重载构造函数.构造函数可以具有任何可访问性(公共.受保护或私有).如果未定义任何构造函数,则编译器会生成不采用任何参数的默认构造函数:可以通过将默认构造函数声明为已删除来重写此行为. 构造函数顺序 构造函数按此顺序执行工作: 按声明顺序调用基类和成员构造函数. 如果类派生自虚拟基类,则会将对象的虚拟基指针初始化. 如果类具有或继承了虚函数,则会将对象的虚函数指针
随机推荐
- web2.0中流行的设计元素:颜色
- 栈和队列数据结构的基本概念及其相关的Python实现
- iOS之单独使用UISearchBar创建搜索框的示例
- Android view滑动悬浮固定效果实现代码示例
- PHP实现的汉字拼音转换和公历农历转换类及使用示例
- 断开网络联结的bat文件
- Jquery中对数组的操作代码
- 12种JavaScript常用的MVC框架比较分析
- avira premium avira中文绿色版下载
- JAVA多线程实现生产者消费者的实例详解
- IOS安装CocoaPods详细教程
- 使用sockets:从新闻组中获取文章(二)
- Android编程之高效开发App的10个建议
- PHP文件上传类实例详解
- Python获取SQLite查询结果表列名的方法
- Java 异常的栈轨迹(Stack Trace)详解及实例代码
- Java多线程中线程间的通信实例详解
- Python实现的多线程同步与互斥锁功能示例
- linux环境下配置mysql5.6支持IPV6连接的方法
- 解决genymotion模拟器无法联网的正确方法100%成功