第一周阅读程序(1) 成员函数在类内声明,类外定义
2015-03-18 08:48
302 查看
问题及代码
![](http://img.blog.csdn.net/20150318090330382?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHNsY2gxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
概括这种写法的特点_类内声明,类外定义_______。
在类定义中,公共成员在前,私有成员在后,有何好处?_符合人的思维__
成员函数的实现写在类定义之外,有何好处?_简洁明了;
将第5行public: 去掉,记录出现的问题__提示错误:原public内的函数为私有;原因是_类函数未定义的话默认为私有;加上public,将程序改回正确状态。
将第18行void Student::display( )写作为void display( ),即去掉Student::,结果会是__
F:\新建文件夹\初学对象\main.cpp|23|error: 'num' was not declared in this scope|
F:\新建文件夹\初学对象\main.cpp|24|error: 'name' was not declared in this scope|
F:\新建文件夹\初学对象\main.cpp|25|error: 'sex' was not declared in this scope|
Student::的作用是_引入到类内____。将程序改回正确状态。
在第30行后加一句:stud1.num=3,记录出现的情况:提示错误:num为私有。并解释原因。_私有成员不能在类外被直接调用;
去掉刚加的那一行,将第31行stud1.display();中的stud1.去掉,记录出现的情况: F:\新建文件夹\初学对象\main.cpp|11|error:
'int Student::num' is private|
F:\新建文件夹\初学对象\main.cpp|31|error: within this context|
并解释原因。私有成员不能在类外被直接调用;
在32行后增加cout<<sizeof(stud1)语句,看输出的结果
![](http://img.blog.csdn.net/20150318085944517?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHNsY2gxMjM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
,请做出解释___?
初学者常将类定义后的分号丢掉,试将13行最后的分号去掉,记录出现的提示:F:\新建文件夹\初学对象\main.cpp|14|error: expected ';' after class definition|
并做出解释。_少分号________
#include <iostream> #include <cstring> using namespace std; class Student { public: void set_data(int n, char *p,char s); void display( ); private: int num; char name[20]; char sex; }; void Student::set_data(int n, char *p,char s) { num=n; strcpy(name,p); sex=s; } void Student::display( ) { cout<<"num: "<<num<<endl; cout<<"name: " <<name<<endl; cout<<"sex: " <<sex<<endl; } int main() { Student stud1,stud2; stud1.set_data(1,"He",'f'); stud2.set_data(2,"She",'m'); stud1.display(); stud2.display(); return 0; }
概括这种写法的特点_类内声明,类外定义_______。
在类定义中,公共成员在前,私有成员在后,有何好处?_符合人的思维__
成员函数的实现写在类定义之外,有何好处?_简洁明了;
将第5行public: 去掉,记录出现的问题__提示错误:原public内的函数为私有;原因是_类函数未定义的话默认为私有;加上public,将程序改回正确状态。
将第18行void Student::display( )写作为void display( ),即去掉Student::,结果会是__
F:\新建文件夹\初学对象\main.cpp|23|error: 'num' was not declared in this scope|
F:\新建文件夹\初学对象\main.cpp|24|error: 'name' was not declared in this scope|
F:\新建文件夹\初学对象\main.cpp|25|error: 'sex' was not declared in this scope|
Student::的作用是_引入到类内____。将程序改回正确状态。
在第30行后加一句:stud1.num=3,记录出现的情况:提示错误:num为私有。并解释原因。_私有成员不能在类外被直接调用;
去掉刚加的那一行,将第31行stud1.display();中的stud1.去掉,记录出现的情况: F:\新建文件夹\初学对象\main.cpp|11|error:
'int Student::num' is private|
F:\新建文件夹\初学对象\main.cpp|31|error: within this context|
并解释原因。私有成员不能在类外被直接调用;
在32行后增加cout<<sizeof(stud1)语句,看输出的结果
,请做出解释___?
初学者常将类定义后的分号丢掉,试将13行最后的分号去掉,记录出现的提示:F:\新建文件夹\初学对象\main.cpp|14|error: expected ';' after class definition|
并做出解释。_少分号________
相关文章推荐
- 第一周阅读程序(1) 成员函数在类内定义
- 几个基本概念:成员函数,函数声明,函数原型,函数定义
- 将第十四周的阅读程序中的Vehicle类的定义修改为纯虚函数,找出main()函数中将使编译出错的行删除
- 第五周 阅读程序 在 main 函数中,可设置指向对象public 成员、对象函数还有对象的指针
- 5,将本章的例2.4改写为一个多文件的程序: (1)将类定义放在头文件arraymax.h中; (2)将成员函数定义放在源文件arraymax.cpp中; (3)主函数放在源文件filel.cpp中。
- 类声明和成员函数定义的分离
- 编写Java程序,模拟简单的计算器。 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。 编写构造方法,用于初始化n1和n2,再为该类定义 加(addition)、 减(su
- 第3周课后实践·阅读程序(1)-通过公共函数为私有成员赋值
- 第六周项目四:成员函数、友元函数和一般函数有区别(阅读程序)
- 第三周程序阅读(1) 通过公共函数为私有成员赋值
- 4,在本章第2.6.2(题目错误)节中给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数的源文件main.cpp。请完善该程序,在类中增加一个对数
- 类成员声明与定义前加inline的区别(C++ inline 函数)
- C++语言基础 例程 类声明和成员函数定义的分离
- 类声明和成员函数定义的分离示例
- 第六周项目4.1 成员函数 友元函数和一般函数有区别——阅读程序,体会注释中的说明
- 声明一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都定义Speak()成员函数,基类中定义为虚函数,声明类Dog的一个对象,调用函数Speak()
- 编写一个程序,定义一个职工类,输入3个职工的编号、姓名、工资和年龄, 类中的成员函数实现输入、输出,在主函数中定义对象,并计算输出3个职工的平均工资。
- 写程序说明C++中成员函数的初始化顺序只跟在类中的声明顺序有关, 而跟初始化列表中的顺序无关(笔试考过)
- 成员函数声明与定义
- 2,改写本章例2.1程序,要求: (1)将数据成员改为私有; (2)将输入和输出的功能改为由成员函数实现; (3)在类体内定义成员函数;