本文介绍: 现在如下图所示题目,设计一个立方体类,并且可以求出立方体的面积、体积,并最后判断是否相等,这里严格来说应该是设计一个长方体,立方体是长宽高都相等才是。类在其他源文件的实现步骤(实现类在不同文件的实现,后续引出构造函数)注意:类定义在同文件testclass.h中,而testclass.cpp是用来实现(声明)类的成员函数文件。
9.1.6 类在其他源文件的实现步骤(实现类在不同文件的实现,后续引出构造函数)
注意:类定义在同文件testclass.h中,而testclass.cpp是用来实现(声明)类的成员函数文件。
9.1.4 设计立方体类
现在如下图所示题目,设计一个立方体类,并且可以求出立方体的面积、体积,并最后判断是否相等,这里严格来说应该是设计一个长方体,立方体是长宽高都相等才是。
注意点:
完整代码:
#include <iostream>
#include <string>
class Cube{
private:
int mLenth;//长
int mWidth;//宽
int mHeight;//高
public:
void cubeInit(int ml,int mw,int mH){
mLenth = ml;
mWidth = mw;
mHeight = mH;
}
//获取长宽高
int getL(void){
return mLenth;
}
int getW(void){
return mWidth;
}
int getH(void){
return mHeight;
}
//计算面积
int getcubeS(){
return (mLenth*mWidth + mLenth*mHeight + mWidth*mHeight)*2;
}
//计算体积
int getcubeV(){
return mLenth*mWidth*mHeight;
}
bool compareCube2(Cube &ob2){
if(mLenth == ob2.getL() && mWidth == ob2.getW() && mHeight == ob2.getH()){
return true;
}
return false;
}
};
bool compareCube1(Cube &ob1,Cube &ob2)
{
if(ob1.getL() == ob2.getL() && ob1.getH() == ob2.getH() && ob1.getW() == ob2.getW()){
return true;
}else{
return false;
}
}
void test04(){
Cube ob1;
ob1.cubeInit(10,20,30);
cout << "面积:" <<ob1.getcubeS()<<endl;
cout << "体积:" <<ob1.getcubeV()<<endl;
Cube ob2;
ob2.cubeInit(5,6,7);
cout << "面积:" <<ob2.getcubeS()<<endl;
cout << "体积:" <<ob2.getcubeV()<<endl;
//全局函数在类外部实现访问局部变量(公有方法访问私有的成员)
if(compareCube1(ob1,ob2))
{
cout << "相等" <<endl;
}else{
cout << "不相等" <<endl;
}
//局部成员函数在类内部调用(直接使用对象名进内部比较)
if(ob1.compareCube2(ob2))
{
cout << "相等" <<endl;
}else{
cout << "不相等" <<endl;
}
}
int main() {
test04();
return 0;
}
9.1.5 成员函数在类的外部实现
9.1.6 类在其他源文件的实现步骤(实现类在不同文件的实现,后续引出构造函数)
这里可以直接选择在.cpp文件实现,注意,编写代码要严格区分大小写。
注意:类定义在同文件testclass.h中,而testclass.cpp是用来实现(声明)类的成员函数文件。
代码:
#ifndef TESTCLASS_H
#define TESTCLASS_H
class TestClass
{
private:
int mA;
public:
void setA(int a);
int getA();
};
#endif // TESTCLASS_H
#include "testclass.h"
void TestClass::setA(int a)
{
mA = a;
}
int TestClass::getA()
{
return mA;
}
#include "testclass.h"
void test05(){
TestClass ob1;
ob1.setA(111);
cout << "ob1 = " <<ob1.getA()<<endl;
}
int main() {
test05();
return 0;
}
原文地址:https://blog.csdn.net/Phofomy/article/details/134712084
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_21548.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。