为啥不对?
#include<iostream>#include<string>
using namespace std;
class Stock
{
private:
char stockcode;
int quan;
double price;
public:
Stock(char na[], int q=1000, double p=8.98)
{
string stockcode=na;
quan=q;
price=p;
}
void print()
{
cout << this->stockcode << endl;
cout << this->quan <<endl;
cout << this->price <<endl;
}
};
int main()
{
Stock s1("123456",3000,5.67);
s1.print();
Stock s2("654321");
s2.print();
return 0;
}
运行结果没有123456
也没有654321
哪位大神知道,就解答! 本帖最后由 yuxijian2020 于 2021-4-16 16:03 编辑
Stock(char na[], int q=1000, double p=8.98)
这里直接改成
Stock(string na, int q=1000, double p=8.98)
不就完事了么
你这一半c一半c++看的贼难受 还有
Stock(char na[], int q=1000, double p=8.98)
{ //这里为什么要重新定义局部变量,你这不就等于没有给属性赋值么,那你肯定啥也显示不出来啊
string stockcode=na;
quan=q;
price=p;
} yuxijian2020 发表于 2021-4-16 16:06
还有
Stock(char na[], int q=1000, double p=8.98)
{ //这里为什么要重新定义局部变量,你这不就等于没 ...
还是不懂怎么改
{:5_96:} woshijunjun 发表于 2021-4-18 16:13
还是不懂怎么改
c++ 保存字符串不是有string么,为什么还要用char na[]字符数组呢?
private:
string stockcode;
int quan;
double price;
public:
Stock(string na, int q=1000, double p=8.98)
{
stockcode = na;
quan=q;
price=p;
}
不要重新创建变量,用类中的属性
页:
[1]