【发布时间】:2020-05-28 23:46:21
【问题描述】:
基于构造函数的程序
Error -Incompatible Type conversion from char to char[100]
代码 -
#include<iostream>
using namespace std;
class demo
{
public:
char name[100];
//This is where char is declared
int marks;
demo()
{
marks = 0;
name = "Pro";
//assigning value to the char
cout<<"Working"<<endl;
}
void input()
{
cout<<"Enter Name and Marks"<<endl;
cin>>name>>marks;
}
void output()
{
cout<<name<<"\t"<<marks<<endl;
}
};
我尝试将名称放在“名称”和“名称”中 我也尝试使用类型转换(char) 但它似乎没有工作
int main()
{
demo Obj1, Obj2;
//creating objects
Obj1.output();
Obj2.input();
Obj2.output();
return 0;
}
【问题讨论】:
-
你为什么不用
std::string?这样它就可以完美地工作了。 -
我们没有被教过,但我会马上用谷歌搜索
-
您需要了解
char(单个字符)和char数组(一组多个字符)之间的区别,因此它们在逻辑上不能相互分配。该语言根本不允许直接分配给数组 - 必须一个接一个地复制元素。 -
所以我将其输入为 name = { "P","R"}; ?
-
由于您使用的是
char的原始数组,而不是使用std::string,请在 C++ 标头<cstring>或 C 标头(C++ 支持向后兼容性,即使它已被弃用)<string.h>.
标签: c++ constructor char type-conversion