问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于C++中将结构体转为类,下面是具体的实例,谢谢大家,对的再多加分:

发布网友 发布时间:2022-04-21 09:50

我来回答

3个回答

热心网友 时间:2023-11-09 06:47

struct student
{
public:
int id;
float gpa;
student(int m,float n):id(m),gpa(n){}
};

改成如下:
class student
{
public:
int id;
float gpa;
student(int m=0,float n=0):id(m),gpa(n){}
};

热心网友 时间:2023-11-09 06:48

#include<iostream>
#include<cstdlib>
using namespace std;
struct student
{
public:
int id;
float gpa;
student(){}; // 增加这个就可以了,楼上的答案也行
student(int m,float n):id(m),gpa(n){}
};
template<typename T>
class Store
{
private:
T item;
int haveValue;
public:
Store(void);
T getItem(void);
void PutElem(T x);
};
template<typename T>
Store<T>::Store(void):haveValue(0){}
template<typename T>
T Store<T>::getItem(void)
{
if(haveValue==0)
{
cout<<"No item present!"<<endl;
exit(1);
}
return item;
}
template<typename T>
void Store<T>::PutElem(T x)
{
haveValue++;
item=x;
}
int main()
{
student g(1000,4.5);
//g.gpa=4.5;g.id=1000;
Store<int>S1,S2;
Store<double>D;
Store<student>S3;
S1.PutElem(3);
S2.PutElem(-7);
cout<<S1.getItem()<<" "<<S2.getItem()<<endl;
S3.PutElem(g);
cout<<S3.getItem().id<<endl;
cout<<D.getItem()<<endl;
return 0;
}

热心网友 时间:2023-11-09 06:48

在c++中,结构体就是一种特殊的类,你完全可以把它当作一个类来使用,如果你要改成类的话,我建议你把结构体的声明struct换成class吧。
你还需要在你的strudent类中添加一个无参数的构造函数:
class student
{
public:
int id;
float gpa;
student() {} //添加这个。
student(int m=0,float n=0):id(m),gpa(n){}
};追问为什么构造函数要有缺省值啊?student(int m,float n):id(m),gpa(n){}这样为什么就不正确呢?谢谢

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我想问扣扣邮箱在哪里 求几道奥数题的答案(算数的)要简便得算哈 能不能给我六十道五年级奥数题.要答案 六十道五年级奥数题? 比亚迪和哪国合资的车 入党政审有什么步骤? 请问邮箱在哪里我怎么找不到 夫妻相克表太准了 夫妻相克会离婚吗? 夫妻相克表太准了夫妻五行相克化解方法 无法登录学信网怎么办? 结构体如何转化成类 结构体和实体之间的关系有哪些? c++中的结构体是用来干嘛的?能解决什么问题? 什么是结构类型变量?与结构体成员变量有什么区别?? 结构体类型的概述 C语言中的结构体类型是什么? 什么是结构体 电脑分辨率改变导致黑屏 显卡控制面板设置了分辨率后一开机就黑屏 我的电脑怎么一改分辨率就黑屏 电脑因为修改分辨率而一直黑屏了怎么办 电脑更改分辨率后黑屏怎么办 404 Not Found 怎么更改屏幕分辨率? 电脑调完分辨率后黑屏怎么办 屏幕分辨率调高后黑屏如何处理? 设置分辨率后,电脑黑屏,怎么办? 电脑分辨率调高后导致黑屏,按f8也没反应啊? 电脑改分辨率后黑屏系统内怎么解决 电视分辨率调太高了然后黑屏了怎么解决? c语言中怎样将结构体转换成字符串 结构体转换成C字符串 把下面结构体转换成类 求大神帮我把结构体改成类 怎样把一个结构体转换成相应的map结构 如何把这段结构体变成结构体数组 c语言结构体怎么替换成结构体指针? 公路护栏Gr-SBm-有几种规格 “波形防撞护栏Gr-C-4E”是什么意思? 想知道施耐德中间继电器的具体型号和含意 安徽高速护栏Gr-A-4E参数及价格? GR C是什么材料 车牌gr是什么军种? GR是什么单位,怎么换算 本人刚入行对这方面不太懂。谁有颜料的索引号,国内的俗称。软硬胶颜料的区分,总之是颜料方面的越详细越 美国最早的纸币叫什么? 美元的纸币图片 美国发行了几套美元 one dime是多少美元? 美金有哪几种面额?