C++面向对象入门~构造函数编译不通过

问题描述

C++面向对象入门~构造函数编译不通过
一个简单的面向对象入门,在codeblock上,构造函数的参数编译失败

#include <iostream>using namespace std;class Building{protected:    string name;    int floorNumroomAmount;    float wholeArea;public:    Building(string nint fint rfloat w)    {        this->name=n;        this->floorNum=f;        this->roomAmount=r;        this->wholeArea=w;    }    void display()    {        cout<<""建筑物名称:""<<name<<endl;        cout<<""层数:""<<floorNum<<endl;        cout<<""教室(房间)数""<<roomAmount<<endl;        cout<<""总面积""<<wholeArea<<endl;    }};class TeachBuilding:protected Building{protected:    string func;public:    TeachBuilding(string nint fint rfloat wstring func):Building(string nint fint rfloat w)    {        this->func=func;    }    void display()    {        Building::display();        cout<<""建筑物功能:""<<func<<endl;    }};class DormBuilding :public Building{protected:    int people;public:    DormBuilding(string nint fint rfloat wint people):Building(string nint fint rfloat w)    {        this->people=people;    }    void display()    {        Building::display();        cout<<""可容纳人数:""<<people<<endl;    }};int main(){    TeachBuilding TB(""5号楼""5404000机房"");    TB.display();    cout<<endl;    DormBuilding DB(""宿舍C3""81401352523);    DB.display();    return 0;}

解决方案

 #include <iostream>using namespace std;class Building{protected:    string name;    int floorNumroomAmount;    float wholeArea;public:    Building(string nint fint rfloat w)    {        this->name=n;        this->floorNum=f;        this->roomAmount=r;        this->wholeArea=w;    }    void display()    {        cout<<""建筑物名称:""<<name<<endl;        cout<<""层数:""<<floorNum<<endl;        cout<<""教室(房间)数""<<roomAmount<<endl;        cout<<""总面积""<<wholeArea<<endl;    }};class TeachBuilding:protected Building{protected:    string func;public:    TeachBuilding(string nint fint rfloat wstring func):Building(nfrw) //修改    {        this->func=func;    }    void display()    {        Building::display();        cout<<""建筑物功能:""<<func<<endl;    }};class DormBuilding :public Building{protected:    int people;public:    DormBuilding(string nint fint rfloat wint people):Building(nfrw) //修改    {        this->people=people;    }    void display()    {        Building::display();        cout<<""可容纳人数:""<<people<<endl;    }};int main(){    TeachBuilding TB(""5号楼""5404000机房"");    TB.display();    cout<<endl;    DormBuilding DB(""宿舍C3""81401352523);    DB.display();    return 0;}

解决方案二:
建筑物名称:5号楼
层数:5
教室(房间)数40
总面积4000
建筑物功能:机房

建筑物名称:宿舍C3
层数:8
教室(房间)数140
总面积1352
可容纳人数:523

解决方案三:
building类中的缺少初始构造函数

就是你应该有无参数传入的构造函数

解决方案四:
你的程序中有:string name;所以你要加上头文件#include
其次,你的这句代码TeachBuilding(string nint fint rfloat wstring func):Building(nfrw)。有些问题

解决方案五:
没有错误提示吗?错误提前????

解决方案六:
string头文件都没加

时间: 2024-08-03 20:39:18

C++面向对象入门~构造函数编译不通过的相关文章

JavaScript面向对象入门教程

那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成一个实例对象,我们应该怎么做呢? 一般来说大家比较熟悉的面向对象方式是基于类的面向对象,声明一个类,然后在根据类声明的描述去创建对象,通过类与类之间的继承和组合关系来复用代码.大多数情况下,基于类的面向对象语言(C++,C#,Java之类的)都把类整合进自己的类型系统,即每个类(Class)同时也是一个变量类型(Variable Type),并允许子类类型的

JavaScript 面向对象入门精简篇第1/2页_js面向对象

封装 :javascript中创建对象的模式中,个人认为通过闭包才算的上是真正意义上的封装 ,所以首先我们先来简单介绍一下闭包,看下面这个例子: 复制代码 代码如下: <script type="text/javascript"> function myInfo(){ var name ="老鱼",age =27; var myInfo = "my name is" + name + "i am" + age +&

Perl语言面向对象入门

因为项目原因,接触了一门新的语言----Perl.初识之时,觉得它既像bash shell,又像C语言.因为有C/C++/Java以及shell基础,所以这门语言上水并没有很困难,但是它的面向对象还是给了我极其深刻的印象,因为它太"奇怪"了.即便是现在,我也不敢说理解了perl的面向对象编程,也仅仅是掌握了其基本的语法.本着学习分享的目的,今天,就通过一些简单代码来展示一下Perl的面向对象编程. 在Java或者C++中,我们会经常使用一个对象Property来读取配置文件,而Prop

jQuery入门 构造函数_jquery

jQuery构造函数 jQuery(expression,context) jQuery(html) jQuery(elements) jQuery(fn)

javascript面向对象入门基础详细介绍_js面向对象

什么是对象 简单点说,编程语言中的对象是对现实中事物的简化.例如,我们一个人就是一个对象,但是编程语言很难完全描述一个这样复杂的对象.所以我们必须做出简化,首先,将人简化成属性和行为的组合,然后仅仅保留对程序有意义的几个属性以及行为.例如,我们做一个统计某学校的人的身高的程序,那么我们在这个程序中就可以把人的行为省略掉,只保留行为,并且只保留身高这一个属性.这样,我们就得到了一个最简单的对象. JavaScript字符串对象 对象的属性 其实我们之前在HTML DOM中已经就是在使用对象了.例如

javascript面向对象快速入门实例_javascript技巧

本文深入浅出的讲述了javascript面向对象快速入门实例.分享给大家供大家参考.具体如下: javascript面向对象入门案例: 复制代码 代码如下: <script language="javascript" type="text/javascript"> function Cat(){//js中对象的定义与函数一样,不同点在于怎么样调用. } var cat1 = new Cat();//创建类实例 //js中类属性可以动态添加,并不需要写在原

JS基于面向对象实现的选项卡效果示例_javascript技巧

本文实例讲述了JS基于面向对象实现的选项卡效果.分享给大家供大家参考,具体如下: 中间过渡环节:把面向过程的程序,改写成面向对象的形式 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style> #div1 input {background:#CCC;} #div1 .active {background:yellow;} #div1 div {width:200px; height:200

PHP面向对象(OOP)编程:“$this”的特殊用法

现在我们知道了如何访问对象中的成员,是通过"对象->成员"的方式访问的,这是在对象的外部去访问对象中成员的形式, 那么如果我想在对象的内部,让对象里的方法访问本对象的属性, 或是对象中的方法去调用本对象的其它方法这时我们怎么办?因为对象里面的所有的成员都要用对象来调用,包括对象的内部成员之间的调用,所以在PHP里面给 我提供了一个本对象的引用$this, 每个对象里面都有一个对象的引用$this来代表这个对象,完成对象内部成员的调用, this的本意就是"这个"

javascript面向对象程序设计高级特性经典教程(值得收藏)_javascript技巧

本文实例讲述了javascript面向对象程序设计的高级特性.分享给大家供大家参考,具体如下: 1.创建对象的三种方式: 第一种构造法:new  Object var a = new Object(); a.x = 1, a.y = 2; 第二种构造法:对象直接量 var b = { x : 1, y : 2 }; 第三种构造法:定义类型 function Point(x, y){ this.x = x; this.y = y; } var p = new Point(1,2); 2.访问对象